<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" >

	<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
	<link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">
	<link href="https://fonts.googleapis.com/css?family=Cousine|Inconsolata" rel="stylesheet">
	<link rel="shortcut icon" type="image/png" href="/favicon.png">

	
	<link rel="stylesheet" href="/css/style.css">
	<link rel="stylesheet" href="/css/css/fontawesome-all.min.css">
	<script src="/js/main.js"></script>
	

	<!-- Begin Jekyll SEO tag v2.1.0 -->
<title>Broadcast Ops - Steem Developer</title>
<meta property="og:title" content="Broadcast Ops" />
<meta name="description" content="An operation on Steem is a way of expressing intention on the blockchain. They are also known as Broadcast Operations. They have types, like vote or comment. They pass parameters like author and permlink, depending on what their purpose is. Operations are grouped into transactions and passed as parameters to methods like network_broadcast_api.broadcast_transaction_synchronous, in the operations array. Transactions must be signed in order for the blockchain to accept them. Here is an example of a transaction that contains one operation (shown without signatures). { &quot;jsonrpc&quot;:&quot;2.0&quot;, &quot;method&quot;:&quot;network_broadcast_api.broadcast_transaction_synchronous&quot;, &quot;params&quot;:{ &quot;trx&quot;:{ &quot;ref_block_num&quot;:1097, &quot;ref_block_prefix&quot;:2181793527, &quot;expiration&quot;:&quot;2016-03-24T18:00:21&quot;, &quot;operations&quot;:[ [ &quot;vote&quot;, { &quot;voter&quot;:&quot;steemit&quot;, &quot;author&quot;:&quot;alice&quot;, &quot;permlink&quot;:&quot;a-post-by-alice&quot;, &quot;weight&quot;:10000 } ] ], &quot;extensions&quot;:[], &quot;signatures&quot;:[] } }, &quot;id&quot;:1 } Also see: Network Broadcast API vote This operation is used to cast a vote on a post/comment. The primary purpose of voting is to express Proof-of-Brain about content to the blockchain. When a vote is cast, the content is considered in the consensus rules involving author and curation rewards. An upvote can be cast from the point in time that the content is created up to 6.5 days. The remaining 12 hours are locked out of upvotes at which time only downvotes may be cast. A secondary aspect to voting involves reputation, which is not part of consensus. Reputation Rules: Must have non-negative reputation to effect another user’s reputation. If you are down voting another user, you must have more reputation than them to impact their reputation. Notes: voter: must be a valid account name author: must be a valid account name permlink: must be content created by author weight: absolute value must not be more than 10000 (100.00 %). Roles: posting active owner Parameters: voter author permlink weight Example Op: [ &quot;vote&quot;, { &quot;voter&quot;: &quot;steemit&quot;, &quot;author&quot;: &quot;alice&quot;, &quot;permlink&quot;: &quot;a-post-by-alice&quot;, &quot;weight&quot;: 10000 } ] comment Creates a post/comment. Notes: title: must not be larger than 256 bytes title: must be UTF-8 body: must be larger than 0 bytes body: must be UTF-8 Roles: posting active owner Parameters: parent_author parent_permlink author permlink title body json_metadata Example Op: [ &quot;comment&quot;, { &quot;parent_author&quot;: &quot;&quot;, &quot;parent_permlink&quot;: &quot;steem&quot;, &quot;author&quot;: &quot;alice&quot;, &quot;permlink&quot;: &quot;a-post-by-alice&quot;, &quot;title&quot;: &quot;A Post By Alice&quot;, &quot;body&quot;: &quot;This is my post.&quot;, &quot;json_metadata&quot;: &quot;{\&quot;tags\&quot;:[\&quot;steemit\&quot;,\&quot;example\&quot;,\&quot;tags\&quot;]}&quot; } ] transfer Transfers asset from one account to another. The memo is plain-text, any encryption on the memo is up to a higher level protocol. Notes: Transferring of Steem Power (VESTS) is not allowed. Cannot transfer a negative amount (aka: stealing). Memo must be less than 2048 bytes. Memo must be UTF-8. Roles: active owner Parameters: from to amount memo Example Op: [ &quot;transfer&quot;, { &quot;from&quot;: &quot;steemit&quot;, &quot;to&quot;: &quot;alice&quot;, &quot;amount&quot;: { &quot;amount&quot;: &quot;10&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;memo&quot;: &quot;Thanks for all the fish.&quot; } ] transfer_to_vesting This operation converts STEEM into VFS (Vesting Fund Shares) at the current exchange rate. With this operation it is possible to give another account vesting shares so that faucets can pre-fund new accounts with vesting shares. Notes: Amount must be in STEEM. Must transfer a nonzero amount. Roles: active owner Parameters: from to amount Example Op: [ &quot;transfer_to_vesting&quot;, { &quot;from&quot;: &quot;alice&quot;, &quot;to&quot;: &quot;&quot;, &quot;amount&quot;: { &quot;amount&quot;: &quot;357000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; } } ] withdraw_vesting At any given point in time an account can be withdrawing from their vesting shares. A user may change the number of shares they wish to cash out at any time between 0 and their total vesting stake. After applying this operation, vesting_shares will be withdrawn at a rate of vesting_shares/13 per week for 13 weeks starting one week after this operation is included in the blockchain. This operation is not valid if the user has no vesting shares. Notes: Amount must be VESTS. Roles: active owner Parameters: account vesting_shares Example Op: [ &quot;withdraw_vesting&quot;, { &quot;account&quot;: &quot;steemit&quot;, &quot;vesting_shares&quot;: { &quot;amount&quot;: &quot;200000000000&quot;, &quot;precision&quot;: 6, &quot;nai&quot;: &quot;@@000000037&quot; } } ] limit_order_create This operation creates a limit order and matches it against existing open orders. Roles: active owner Parameters: owner orderid amount_to_sell min_to_receive fill_or_kill expiration Example Op: [ &quot;limit_order_create&quot;, { &quot;owner&quot;: &quot;steemit&quot;, &quot;orderid&quot;: 10, &quot;amount_to_sell&quot;: { &quot;amount&quot;: &quot;9950&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;min_to_receive&quot;: { &quot;amount&quot;: &quot;3500&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;fill_or_kill&quot;: false, &quot;expiration&quot;: &quot;2035-10-29T06:32:22&quot; } ] limit_order_cancel Cancels an order and returns the balance to owner. Roles: active owner Parameters: owner orderid Example Op: [ &quot;limit_order_cancel&quot;, {&quot;owner&quot;: &quot;steemit&quot;, &quot;orderid&quot;: 10} ] price Roles: active owner Parameters: base quote feed_publish Feeds can only be published by the top N witnesses which are included in every round and are used to define the exchange rate between steem and the dollar. Roles: active owner Parameters: publisher exchange_rate Example Op: [ &quot;feed_publish&quot;, { &quot;publisher&quot;: &quot;alice&quot;, &quot;exchange_rate&quot;: { &quot;base&quot;: { &quot;amount&quot;: &quot;1000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;quote&quot;: { &quot;amount&quot;: &quot;1000000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; } } } ] convert This operation instructs the blockchain to start a conversion between STEEM and SBD, the funds are deposited after 3.5 days. Roles: active owner Parameters: owner requestid amount Example Op: [ &quot;convert&quot;, { &quot;owner&quot;: &quot;steemit&quot;, &quot;requestid&quot;: 1467592156, &quot;amount&quot;: { &quot;amount&quot;: &quot;5000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; } } ] account_create Roles: active owner Parameters: fee creator new_account_name owner active posting memo_key json_metadata Example Op: [ &quot;account_create&quot;, { &quot;fee&quot;: { &quot;amount&quot;: &quot;0&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;creator&quot;: &quot;steemit&quot;, &quot;new_account_name&quot;: &quot;alice&quot;, &quot;owner&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM5b4i9gBqvh4sbgrooXPu2dbGLewNPZkXeuNeBjyiswnu2szgXx&quot;, 1 ] ] }, &quot;active&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM7ko5nzqaYfjbD4tKWGmiy3xtT9eQFZ3Pcmq5JmygTRptWSiVQy&quot;, 1 ] ] }, &quot;posting&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM5xAKxnMT2y9VoVJdF63K8xRQAohsiQy9bA33aHeyMB5vgkzaay&quot;, 1 ] ] }, &quot;memo_key&quot;: &quot;STM8ZSyzjPm48GmUuMSRufkVYkwYbZzbxeMysAVp7KFQwbTf98TcG&quot;, &quot;json_metadata&quot;: &quot;{}&quot; } ] account_update Roles: active owner Parameters: account owner active posting memo_key json_metadata Example Op: [ &quot;account_update&quot;, { &quot;account&quot;: &quot;steemit&quot;, &quot;posting&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM6FATHLohxTN8RWWkU9ZZwVywXo6MEDjHHui1jEBYkG2tTdvMYo&quot;, 1 ], [ &quot;STM76EQNV2RTA6yF9TnBvGSV71mW7eW36MM7XQp24JxdoArTfKA76&quot;, 1 ] ] }, &quot;memo_key&quot;: &quot;STM6FATHLohxTN8RWWkU9ZZwVywXo6MEDjHHui1jEBYkG2tTdvMYo&quot;, &quot;json_metadata&quot;: &quot;&quot; } ] Disabled report_over_production Disabled in HF4 This operation is used to report a miner who signs two blocks at the same time. To be valid, the violation must be reported within STEEM_MAX_WITNESSES blocks of the head block (1 round) and the producer must be in the ACTIVE witness set. Users not in the ACTIVE witness set should not have to worry about their key getting compromised and being used to produced multiple blocks so the attacker can report it and steel their vesting steem. The result of the operation is to transfer the full VESTING STEEM balance of the block producer to the reporter. Roles: active owner Parameters: reporter first_block second_block witness_update Users who wish to become a witness must pay a fee acceptable to the current witnesses to apply for the position and allow voting to begin. If the owner isn’t a witness they will become a witness. Witnesses are charged a fee equal to 1 weeks worth of witness pay which in turn is derived from the current share supply. The fee is only applied if the owner is not already a witness. If the block_signing_key is null then the witness is removed from contention. The network will pick the top 21 witnesses for producing blocks. Notes: The fee paid to register a new witness, should be 10x current block production pay. url cannot be more than 2048 bytes. url must be UTF-8. fee cannot be negative. Roles: active owner Parameters: owner url block_signing_key props fee Example Op: [ &quot;witness_update&quot;, { &quot;owner&quot;: &quot;alice&quot;, &quot;url&quot;: &quot;witness-category/my-witness&quot;, &quot;block_signing_key&quot;: &quot;STM8LoQjQqJHvotqBo7HjnqmUbFW9oJ2theyqonzUd9DdJ7YYHsvD&quot;, &quot;props&quot;: { &quot;account_creation_fee&quot;: { &quot;amount&quot;: &quot;100000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;maximum_block_size&quot;: 131072, &quot;sbd_interest_rate&quot;: 1000 }, &quot;fee&quot;: { &quot;amount&quot;: &quot;0&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; } } ] account_witness_vote All accounts with a VFS (Vesting Fund Shares) can vote for or against any witness. If a proxy is specified then all existing votes are removed. Roles: active owner Parameters: account witness approve Example Op: [ &quot;account_witness_vote&quot;, { &quot;account&quot;: &quot;alice&quot;, &quot;witness&quot;: &quot;bob&quot;, &quot;approve&quot;: true } ] account_witness_proxy Roles: active owner Parameters: account proxy Example Op: [ &quot;account_witness_proxy&quot;, {&quot;account&quot;: &quot;alice&quot;, &quot;proxy&quot;: &quot;bob&quot;} ] Disabled pow Disabled in HF14. Roles: active owner Parameters: worker input signature work Example Op: [ &quot;pow&quot;, { &quot;worker_account&quot;: &quot;admin&quot;, &quot;block_id&quot;: &quot;000004433bd4602cf5f74dbb564183837df9cef8&quot;, &quot;nonce&quot;: 82, &quot;work&quot;: { &quot;worker&quot;: &quot;STM65wH1LZ7BfSHcK69SShnqCAH5xdoSZpGkUjmzHJ5GCuxEK9V5G&quot;, &quot;input&quot;: &quot;59b009f89477919f95914151cef06f28bf344dd6fb7670aca1c1f4323c80446b&quot;, &quot;signature&quot;: &quot;1f3f83209097efcd01b7d6f27ce726164323d503d6fcf4d55bfb7cb3032796f6766738b36062b5850d69447fdf9c091cbc70825df5eeacc4710a0b11ffdbf0912a&quot;, &quot;work&quot;: &quot;0b62f4837801cd857f01d6a541faeb13d6bb95f1c36c6b4b14a47df632aa6c92&quot; }, &quot;props&quot;: { &quot;account_creation_fee&quot;: { &quot;amount&quot;: &quot;100000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;maximum_block_size&quot;: 131072, &quot;sbd_interest_rate&quot;: 1000 } } ] custom Provides a generic way to add higher level protocols on top of witness consensus. There is no validation for this operation other than that required auths are valid. Roles: active owner Parameters: required_auths id data Example Op: [ &quot;custom&quot;, { &quot;required_auths&quot;: [&quot;bytemaster&quot;], &quot;id&quot;: 777, &quot;data&quot;: &quot;0a627974656d617374657207737465656d697402a3d13897d82114466ad87a74b73a53292d8331d1bd1d3082da6bfbcff19ed097029db013797711c88cccca3692407f9ff9b9ce7221aaa2d797f1692be2215d0a5f6d2a8cab6832050078bc5729201e3ea24ea9f7873e6dbdc65a6bd9899053b9acda876dc69f11a13df9ca8b26b6&quot; } ] delete_comment Roles: posting active owner Parameters: author permlink Example Op: [ &quot;delete_comment&quot;, { &quot;author&quot;: &quot;alice&quot;, &quot;permlink&quot;: &quot;a-post-by-alice&quot; } ] custom_json Serves the same purpose as custom but also supports required posting authorities. Unlike custom, this operation is designed to be human readable/developer friendly. follow As of HF9, the follow plugin will track follow/unfollow/ignore events. reblog As of HF14, allows users to share blogs they find with those who follow them. This change implemented entirely outside the blockchain consensus which means that reblogging does not create a new post, it merely shares an existing post with people who follow you. witness As of HF18, the witness plugin has a custom operation called enable_content_editing that allows a user to signal they want to edit their content. By consensus, content is editable indefinitely, but is soft forked to be frozen after payout. This operation requires an active key and is designed to prevent vandalism if a posting key is compromised. #1017 Roles: posting active owner Parameters: required_auths required_posting_auths id json Example Op: [ &quot;custom_json&quot;, { &quot;required_auths&quot;: [], &quot;required_posting_auths&quot;: [&quot;steemit&quot;], &quot;id&quot;: &quot;follow&quot;, &quot;json&quot;: &quot;[\&quot;follow\&quot;,{\&quot;follower\&quot;:\&quot;steemit\&quot;,\&quot;following\&quot;:\&quot;alice\&quot;,\&quot;what\&quot;:[\&quot;blog\&quot;]}]&quot; } ] [ &quot;custom_json&quot;, { &quot;required_auths&quot;: [], &quot;required_posting_auths&quot;: [&quot;alice&quot;], &quot;id&quot;: &quot;follow&quot;, &quot;json&quot;: &quot;[\&quot;follow\&quot;,{\&quot;follower\&quot;:\&quot;alice\&quot;,\&quot;following\&quot;:\&quot;eve\&quot;,\&quot;what\&quot;:[\&quot;ignore\&quot;]}]&quot; } ] [ &quot;custom_json&quot;, { &quot;required_auths&quot;: [], &quot;required_posting_auths&quot;: [&quot;bob&quot;], &quot;id&quot;: &quot;reblog&quot;, &quot;json&quot;: &quot;{\&quot;account\&quot;:\&quot;bob\&quot;,\&quot;author\&quot;:\&quot;alice\&quot;,\&quot;permlink\&quot;:\&quot;a-post-by-alice\&quot;}&quot; } ] [ &quot;custom_json&quot;, { &quot;required_auths&quot;: [&quot;alice&quot;], &quot;required_posting_auths&quot;: [], &quot;id&quot;: &quot;witness&quot;, &quot;json&quot;: &quot;[\&quot;enable_content_editing\&quot;, {\&quot;account\&quot;: \&quot;alice\&quot;, \&quot;relock_time\&quot;: \&quot;2100-01-01T12:00:00\&quot;}]&quot; } ] comment_options Authors of posts may not want all of the benefits that come from creating a post. This operation allows authors to update properties associated with their post. Typically, these options will accompany a comment operation in the same transaction. As of HF17, content can specify beneficiaries to receive a part of their author rewards. The beneficiaries are specified in the extension field of the comment_options_operation and is a sorted vector (by account name) of account name, weight pairs. The beneficiaries can only be specified once and must be specified before any votes are cast on the comment. Most apps are already adding a comment_options in the transaction that creates the comment, so this should not be much of a challenge to add to existing apps. Notes: The max_accepted_payout may be decreased, but never increased. The percent_steem_dollars may be decreased, but never increased. Part of comment_option validation process, to be called when allowed_vote_assets object has been added as comment option extension are: When votable assets are greater than maximum votable assets: “Too much votable assets specified” When the symbol is not allowed in the list for votable assets: “STEEM can not be explicitly specified as one of allowed_vote_assets” max_accepted_payout: SBD value of the maximum payout this post will receive percent_steem_dollars: the percent of Steem Dollars to key, unkept amounts will be received as Steem Power allow_votes: allows/disallows a post to receive votes; allow_curation_rewards: allows/disllows voters to recieve curation rewards. Rewards return to reward fund. beneficiaries Must have at least one (empty beneficiaries not allowed). Cannot have more than 127 (witness currently only allow up to 8). Cannot allocate more than 100% of rewards to one account. Cannot allocate more than 100% of rewards to a comment. Must be specified in sorted order (account ascending; no duplicates). Roles: posting active owner Parameters: author permlink max_accepted_payout percent_steem_dollars allow_votes allow_curation_rewards extensions Example Op: [ &quot;comment_options&quot;, { &quot;author&quot;: &quot;alice&quot;, &quot;permlink&quot;: &quot;a-post-by-alice&quot;, &quot;max_accepted_payout&quot;: { &quot;amount&quot;: &quot;1000000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;percent_steem_dollars&quot;: 5000, &quot;allow_votes&quot;: true, &quot;allow_curation_rewards&quot;: true, &quot;extensions&quot;: [] } ] [ &quot;comment_options&quot;, { &quot;author&quot;: &quot;bob&quot;, &quot;permlink&quot;: &quot;a-post-with-a-beneficiary&quot;, &quot;max_accepted_payout&quot;: { &quot;amount&quot;: &quot;1000000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;percent_steem_dollars&quot;: 63, &quot;allow_votes&quot;: true, &quot;allow_curation_rewards&quot;: true, &quot;extensions&quot;: [ [ 0, { &quot;beneficiaries&quot;: [{&quot;account&quot;: &quot;charlie&quot;, &quot;weight&quot;: 1000}] } ] ] } ] [ &quot;comment_options&quot;, { &quot;author&quot;: &quot;charlie&quot;, &quot;permlink&quot;: &quot;a-post-with-multiple-beneficiaries&quot;, &quot;max_accepted_payout&quot;: { &quot;amount&quot;: &quot;1000000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;percent_steem_dollars&quot;: 62688, &quot;allow_votes&quot;: true, &quot;allow_curation_rewards&quot;: true, &quot;extensions&quot;: [ [ 0, { &quot;beneficiaries&quot;: [ {&quot;account&quot;: &quot;david&quot;, &quot;weight&quot;: 500}, {&quot;account&quot;: &quot;erin&quot;, &quot;weight&quot;: 500}, {&quot;account&quot;: &quot;faythe&quot;, &quot;weight&quot;: 1000}, {&quot;account&quot;: &quot;frank&quot;, &quot;weight&quot;: 500} ] } ] ] } ] set_withdraw_vesting_route Allows an account to setup a vesting withdraw but with the additional request for the funds to be transferred directly to another account’s balance rather than the withdrawing account. In addition, those funds can be immediately vested again, circumventing the conversion from vests to steem and back, guaranteeing they maintain their value. Notes: Percent must be valid steem percent. Roles: active owner Parameters: from_account to_account percent auto_vest Example Op: [ &quot;set_withdraw_vesting_route&quot;, { &quot;from_account&quot;: &quot;alice&quot;, &quot;to_account&quot;: &quot;bob&quot;, &quot;percent&quot;: 10000, &quot;auto_vest&quot;: true } ] limit_order_create2 This operation is identical to limit_order_create except it serializes the price rather than calculating it from other fields. Roles: active owner Parameters: owner orderid amount_to_sell exchange_rate fill_or_kill expiration Example Op: [ &quot;limit_order_create2&quot;, { &quot;owner&quot;: &quot;alice&quot;, &quot;orderid&quot;: 492991, &quot;amount_to_sell&quot;: { &quot;amount&quot;: &quot;1&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;exchange_rate&quot;: { &quot;base&quot;: { &quot;amount&quot;: &quot;1&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;quote&quot;: { &quot;amount&quot;: &quot;10&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; } }, &quot;fill_or_kill&quot;: false, &quot;expiration&quot;: &quot;2017-05-12T23:11:13&quot; } ] Disabled challenge_authority Disabled in HF14. Roles: posting active owner Parameters: challenger challenged require_owner prove_authority Roles: active owner Parameters: challenged require_owner Since: HF11 request_account_recovery All account recovery requests come from a listed recovery account. This is secure based on the assumption that only a trusted account should be a recovery account. It is the responsibility of the recovery account to verify the identity of the account holder of the account to recover by whichever means they have agreed upon. The blockchain assumes identity has been verified when this operation is broadcast. This operation creates an account recovery request which the account to recover has 24 hours to respond to before the request expires and is invalidated. There can only be one active recovery request per account at any one time. Pushing this operation for an account to recover when it already has an active request will either update the request to a new new owner authority and extend the request expiration to 24 hours from the current head block time or it will delete the request. To cancel a request, simply set the weight threshold of the new owner authority to 0, making it an open authority. Additionally, the new owner authority must be satisfiable. In other words, the sum of the key weights must be greater than or equal to the weight threshold. This operation only needs to be signed by the the recovery account. The account to recover confirms its identity to the blockchain in the recover account operation. Notes: recovery_account: The recovery account is listed as the recovery account on the account to recover. account_to_recover: The account to recover. This is likely due to a compromised owner authority. new_owner_authority: The new owner authority the account to recover wishes to have. This is secret known by the account to recover and will be confirmed in a recover_account. See: #169 Roles: active owner Parameters: recovery_account account_to_recover new_owner_authority extensions Example Op: [ &quot;request_account_recovery&quot;, { &quot;recovery_account&quot;: &quot;steem&quot;, &quot;account_to_recover&quot;: &quot;alice&quot;, &quot;new_owner_authority&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM6LYxj96zdypHYqgDdD6Nyh2NxerN3P1Mp3ddNm7gci63nfrSuZ&quot;, 1 ] ] }, &quot;extensions&quot;: [] } ] Since: HF11 recover_account Roles: owner Parameters: account_to_recover new_owner_authority recent_owner_authority extensions Example Op: [ &quot;recover_account&quot;, { &quot;account_to_recover&quot;: &quot;alice&quot;, &quot;new_owner_authority&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM7j3nhkhHTpXqLEvdx2yEGhQeeorTcxSV6WDL2DZGxwUxYGrHvh&quot;, 1 ] ] }, &quot;recent_owner_authority&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM78Xth94gNxp8nmByFV2vNAhg9bsSdviJ6fQXUTFikySLK3uTxC&quot;, 1 ] ] }, &quot;extensions&quot;: [] } ] Since: HF11 change_recovery_account Each account lists another account as their recovery account. The recovery account has the ability to create account_recovery_requests for the account to recover. An account can change their recovery account at any time with a 30 day delay. This delay is to prevent an attacker from changing the recovery account to a malicious account during an attack. These 30 days match the 30 days that an owner authority is valid for recovery purposes. On account creation the recovery account is set either to the creator of the account (The account that pays the creation fee and is a signer on the transaction) or to the empty string if the account was mined. An account with no recovery has the top voted witness as a recovery account, at the time the recover request is created. Note: This does mean the effective recovery account of an account with no listed recovery account can change at any time as witness vote weights. The top voted witness is explicitly the most trusted witness according to stake. See: #169 Roles: owner Parameters: account_to_recover new_recovery_account extensions Example Op: [ &quot;change_recovery_account&quot;, { &quot;account_to_recover&quot;: &quot;alice&quot;, &quot;new_recovery_account&quot;: &quot;bob&quot;, &quot;extensions&quot;: [] } ] Since: HF14 escrow_transfer The purpose of this operation is to enable someone to send money contingently to another individual. The funds leave the from account and go into a temporary balance where they are held until from releases it to to or to refunds it to from. In the event of a dispute the agent can divide the funds between the to/from account. Disputes can be raised any time before or on the dispute deadline time, after the escrow has been approved by all parties. This operation only creates a proposed escrow transfer. Both the agent and to must agree to the terms of the arrangement by approving the escrow. The escrow agent is paid the fee on approval of all parties. It is up to the escrow agent to determine the fee. Escrow transactions are uniquely identified by from and escrow_id, the escrow_id is defined by the sender. See: steem_operations.hpp:229 Roles: active owner Parameters: from to agent escrow_id sbd_amount steem_amount fee ratification_deadline escrow_expiration json_meta Example Op: [ &quot;escrow_transfer&quot;, { &quot;from&quot;: &quot;alice&quot;, &quot;to&quot;: &quot;bob&quot;, &quot;sbd_amount&quot;: { &quot;amount&quot;: &quot;1000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;steem_amount&quot;: { &quot;amount&quot;: &quot;0&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;escrow_id&quot;: 23456789, &quot;agent&quot;: &quot;charlie&quot;, &quot;fee&quot;: { &quot;amount&quot;: &quot;100&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;json_meta&quot;: &quot;{}&quot;, &quot;ratification_deadline&quot;: &quot;2017-02-26T11:22:39&quot;, &quot;escrow_expiration&quot;: &quot;2017-02-28T11:22:39&quot; } ] Since: HF14 escrow_dispute If either the sender or receiver of an escrow payment has an issue, they can raise it for dispute. Once a payment is in dispute, the agent has authority over who gets what. See: steem_operations.hpp:229 Roles: active owner Parameters: from to agent who escrow_id Example Op: [ &quot;escrow_dispute&quot;, { &quot;from&quot;: &quot;alice&quot;, &quot;to&quot;: &quot;bob&quot;, &quot;agent&quot;: &quot;charlie&quot;, &quot;who&quot;: &quot;alice&quot;, &quot;escrow_id&quot;: 72526562 } ] Since: HF14 escrow_release This operation can be used by anyone associated with the escrow transfer to release funds if they have permission. The permission scheme is as follows: If there is no dispute and escrow has not expired, either party can release funds to the other. If escrow expires and there is no dispute, either party can release funds to either party. If there is a dispute regardless of expiration, the agent can release funds to either party following whichever agreement was in place between the parties. See: steem_operations.hpp:229 Roles: active owner Parameters: from to agent who receiver escrow_id sbd_amount steem_amount Example Op: [ &quot;escrow_release&quot;, { &quot;from&quot;: &quot;alice&quot;, &quot;to&quot;: &quot;bob&quot;, &quot;agent&quot;: &quot;charlie&quot;, &quot;who&quot;: &quot;charlie&quot;, &quot;receiver&quot;: &quot;bob&quot;, &quot;escrow_id&quot;: 72526562, &quot;sbd_amount&quot;: { &quot;amount&quot;: &quot;5000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;steem_amount&quot;: { &quot;amount&quot;: &quot;0&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; } } ] Disabled pow2 Disabled in HF17. Roles: active owner Parameters: input pow_summary Example Op: [ &quot;pow2&quot;, { &quot;work&quot;: [ 0, { &quot;input&quot;: { &quot;worker_account&quot;: &quot;alice&quot;, &quot;prev_block&quot;: &quot;003ea604345523c344fbadab605073ea712dd76f&quot;, &quot;nonce&quot;: &quot;1052853013628665497&quot; }, &quot;pow_summary&quot;: 3817904373 } ], &quot;props&quot;: { &quot;account_creation_fee&quot;: { &quot;amount&quot;: &quot;1&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;maximum_block_size&quot;: 131072, &quot;sbd_interest_rate&quot;: 1000 } } ] Since: HF14 escrow_approve The agent and to accounts must approve an escrow transaction for it to be valid on the blockchain. Once a party approves the escrow, they cannot revoke their approval. Subsequent escrow approve operations, regardless of the approval, will be rejected. See: steem_operations.hpp:229 Roles: active owner Parameters: from to agent who escrow_id approve Example Op: [ &quot;escrow_approve&quot;, { &quot;from&quot;: &quot;alice&quot;, &quot;to&quot;: &quot;bob&quot;, &quot;agent&quot;: &quot;charlie&quot;, &quot;who&quot;: &quot;charlie&quot;, &quot;escrow_id&quot;: 59102208, &quot;approve&quot;: true } ] Since: HF14 transfer_to_savings For time locked savings accounts. A user can place Steem and Steem Dollars into time locked savings balances. Funds can be withdrawn from these balances after a three day delay. The point of this addition is to mitigate loss from hacked and compromised account. The max a user can lose instantaneously is the sum of what the hold in liquid balances. Assuming an account can be recovered quickly, loss in such situations can be kept to a minimum. See: steem_operations.hpp:868 Roles: active owner Parameters: from to amount memo Example Op: [ &quot;transfer_to_savings&quot;, { &quot;from&quot;: &quot;alice&quot;, &quot;to&quot;: &quot;alice&quot;, &quot;amount&quot;: { &quot;amount&quot;: &quot;1000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;memo&quot;: &quot;&quot; } ] Since: HF14 transfer_from_savings Roles: active owner Parameters: from request_id to amount memo Example Op: [ &quot;transfer_from_savings&quot;, { &quot;from&quot;: &quot;alice&quot;, &quot;request_id&quot;: 101, &quot;to&quot;: &quot;alice&quot;, &quot;amount&quot;: { &quot;amount&quot;: &quot;1000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;memo&quot;: &quot;&quot; } ] Since: HF14 cancel_transfer_from_savings Roles: active owner Parameters: from request_id Example Op: [ &quot;cancel_transfer_from_savings&quot;, {&quot;from&quot;: &quot;alice&quot;, &quot;request_id&quot;: 1} ] Since: HF14 custom_binary The semmantics for this operation are the same as the custom_json operation, but with a binary payload. The json deserialization has a non-trivial cost associated with it. This operation will allow for binary deserialization of plugin operations and should improve overall performance of plugins that chose to use it. See: steem_operations.hpp:491 Roles: posting active owner Parameters: id data Since: HF14 decline_voting_rights An account can chose to decline their voting rights after a 30 day delay. This includes voting on content and witnesses. The voting rights cannot be acquired again once they have been declined. This is only to formalize a smart contract between certain accounts and the community that currently only exists as a social contract. See: steem_operations.hpp:897 Roles: owner Parameters: account decline Example Op: [ &quot;decline_voting_rights&quot;, {&quot;account&quot;: &quot;judy&quot;, &quot;decline&quot;: true} ] Since: HF11 Disabled reset_account This operation allows recovery_account to change account_to_reset’s owner authority to new_owner_authority after 60 days of inactivity. See: #169 Roles: active owner Parameters: reset_account account_to_reset new_owner_authority Since: HF11 Disabled set_reset_account This operation allows account owner to control which account has the power to execute the reset_account operation after 60 days. See: #169 Roles: owner posting Parameters: account current_reset_account reset_account claim_reward_balance Roles: posting active owner Parameters: account reward_steem reward_sbd reward_vests Example Op: [ &quot;claim_reward_balance&quot;, { &quot;account&quot;: &quot;alice&quot;, &quot;reward_steem&quot;: { &quot;amount&quot;: &quot;17&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;reward_sbd&quot;: { &quot;amount&quot;: &quot;11&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;reward_vests&quot;: { &quot;amount&quot;: &quot;185025103&quot;, &quot;precision&quot;: 6, &quot;nai&quot;: &quot;@@000000037&quot; } } ] Since: HF17 delegate_vesting_shares Delegate vesting shares from one account to the other. The vesting shares are still owned by the original account, but content voting rights and bandwidth allocation are transferred to the receiving account. This sets the delegation to vesting_shares, increasing it or decreasing it as needed (i.e. a delegation of 0 removes the delegation). When a delegation is removed the shares are placed in limbo for a week to prevent a satoshi of VESTS from voting on the same content twice. Also see: steem_evaluator.cpp:2309 Roles: active owner Parameters: delegator delegatee vesting_shares Example Op: [ &quot;delegate_vesting_shares&quot;, { &quot;delegator&quot;: &quot;alice&quot;, &quot;delegatee&quot;: &quot;bob&quot;, &quot;vesting_shares&quot;: { &quot;amount&quot;: &quot;94599167138276&quot;, &quot;precision&quot;: 6, &quot;nai&quot;: &quot;@@000000037&quot; } } ] Since: HF17 account_create_with_delegation Instead of paying the entire account creation fee with Steem, creators can now pay a smaller fee (30x less) and delegate some Steem Power for 30 days. The exact amount is 5 * min_fee + STEEM_POWER == 150 * min_fee. You can pay any combination of STEEM and Steem Power along that curve (so long as the minimum fee is paid). The witness voted STEEM fee is now the minimum required STEEM fee for delegation. Witnesses should reduce their fee by 30x when the hardfork goes live to preserve the same required fee for an all STEEM account creation. Also see: config.hpp:145 steem_evaluator.cpp:400 Roles: active owner Parameters: fee delegation creator new_account_name owner active posting memo_key json_metadata extensions Example Op: [ &quot;account_create_with_delegation&quot;, { &quot;fee&quot;: { &quot;amount&quot;: &quot;3000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;delegation&quot;: { &quot;amount&quot;: &quot;0&quot;, &quot;precision&quot;: 6, &quot;nai&quot;: &quot;@@000000037&quot; }, &quot;creator&quot;: &quot;steemit&quot;, &quot;new_account_name&quot;: &quot;alice&quot;, &quot;owner&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM5Tki3ecCdCCHCjhhwvQvXuKryL2s34Ma6CXsRzntSUTYVYxCQ9&quot;, 1 ] ] }, &quot;active&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM6LUoAA8gCL9tHRz7v9xcwR4ZWD3KDRHP5t1U7UAZHdfanLxyBE&quot;, 1 ] ] }, &quot;posting&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM8anmpHdfVE4AmwsDpcSXpRsydHysEbv6vGJkRQy1d1CC83zeTA&quot;, 1 ] ] }, &quot;memo_key&quot;: &quot;STM67RYDyEkP1Ja1jFehJ45BFGA9oHHUnRnYbxKJEtMhVQiHW3S3k&quot;, &quot;json_metadata&quot;: &quot;{}&quot;, &quot;extensions&quot;: [] } ] Virtual Operation fill_convert_request Fills when conversion requests with a conversion date before the head block time and then converts them to/from steem/sbd at the current median price feed history price times the premium. Roles: active owner Parameters: owner requestid amount_in amount_out Virtual Operation author_reward Roles: posting active owner Parameters: author permlink sbd_payout steem_payout vesting_payout Virtual Operation curation_reward Roles: posting active owner Parameters: curator reward comment_author comment_permlink Since: HF17 Virtual Operation comment_reward See: #774 Roles: posting active owner Parameters: author permlink payout Virtual Operation Disabled liquidity_reward Deprecated as of HF12, see: #178. Roles: active owner Parameters: owner payout Virtual Operation interest Roles: active owner Parameters: owner interest Example Op: [ &quot;interest&quot;, {&quot;owner&quot;: &quot;alice&quot;, &quot;interest&quot;: &quot;0.001 SBD&quot;} ] Since: HF6 Virtual Operation fill_vesting_withdraw See: #78 Roles: active owner Parameters: from_account to_account withdrawn deposited Example Op: [ &quot;fill_vesting_withdraw&quot;, { &quot;from_account&quot;: &quot;alice&quot;, &quot;to_account&quot;: &quot;alice&quot;, &quot;withdrawn&quot;: &quot;0.026475 VESTS&quot;, &quot;deposited&quot;: &quot;0.710 STEEM&quot; } ] Virtual Operation fill_order Roles: posting active owner Parameters: current_owner current_orderid current_pays open_owner open_orderid open_pays Example Op: [ &quot;fill_order&quot;, { &quot;current_owner&quot;: &quot;alice&quot;, &quot;current_orderid&quot;: 42896, &quot;current_pays&quot;: &quot;94.999 SBD&quot;, &quot;open_owner&quot;: &quot;bob&quot;, &quot;open_orderid&quot;: 10001, &quot;open_pays&quot;: &quot;500.000 STEEM&quot; } ] Since: HF14 Virtual Operation shutdown_witness When a witness goes offline. See: #278 Roles: posting active owner Parameters: owner Example Op: [&quot;shutdown_witness&quot;, {&quot;owner&quot;: &quot;alice&quot;}] Since: HF14 Virtual Operation fill_transfer_from_savings Roles: posting active owner Parameters: from to amount request_id memo Since: HF9 Virtual Operation hardfork Roles: posting active owner Parameters: hardfork_id Virtual Operation comment_payout_update Roles: posting active owner Parameters: author permlink Since: HF17 Virtual Operation return_vesting_delegation Roles: posting active owner Parameters: account vesting_shares Since: HF17 Virtual Operation comment_benefactor_reward Roles: posting active owner Parameters: benefactor author permlink reward Since: HF17 Virtual Operation producer_reward Witness rewards for block signing are hard to account for. Making these rewards visible will help witnesses and prospective witnesses by providing them with more complete and accurate information to guide their decisions to invest in the platform. Roles: posting active owner Parameters: producer vesting_shares Example Op: [ &quot;producer_reward&quot;, { &quot;producer&quot;: &quot;alice&quot;, &quot;vesting_shares&quot;: &quot;14403.626449 VESTS&quot; } ]" />
<meta property="og:description" content="An operation on Steem is a way of expressing intention on the blockchain. They are also known as Broadcast Operations. They have types, like vote or comment. They pass parameters like author and permlink, depending on what their purpose is. Operations are grouped into transactions and passed as parameters to methods like network_broadcast_api.broadcast_transaction_synchronous, in the operations array. Transactions must be signed in order for the blockchain to accept them. Here is an example of a transaction that contains one operation (shown without signatures). { &quot;jsonrpc&quot;:&quot;2.0&quot;, &quot;method&quot;:&quot;network_broadcast_api.broadcast_transaction_synchronous&quot;, &quot;params&quot;:{ &quot;trx&quot;:{ &quot;ref_block_num&quot;:1097, &quot;ref_block_prefix&quot;:2181793527, &quot;expiration&quot;:&quot;2016-03-24T18:00:21&quot;, &quot;operations&quot;:[ [ &quot;vote&quot;, { &quot;voter&quot;:&quot;steemit&quot;, &quot;author&quot;:&quot;alice&quot;, &quot;permlink&quot;:&quot;a-post-by-alice&quot;, &quot;weight&quot;:10000 } ] ], &quot;extensions&quot;:[], &quot;signatures&quot;:[] } }, &quot;id&quot;:1 } Also see: Network Broadcast API vote This operation is used to cast a vote on a post/comment. The primary purpose of voting is to express Proof-of-Brain about content to the blockchain. When a vote is cast, the content is considered in the consensus rules involving author and curation rewards. An upvote can be cast from the point in time that the content is created up to 6.5 days. The remaining 12 hours are locked out of upvotes at which time only downvotes may be cast. A secondary aspect to voting involves reputation, which is not part of consensus. Reputation Rules: Must have non-negative reputation to effect another user’s reputation. If you are down voting another user, you must have more reputation than them to impact their reputation. Notes: voter: must be a valid account name author: must be a valid account name permlink: must be content created by author weight: absolute value must not be more than 10000 (100.00 %). Roles: posting active owner Parameters: voter author permlink weight Example Op: [ &quot;vote&quot;, { &quot;voter&quot;: &quot;steemit&quot;, &quot;author&quot;: &quot;alice&quot;, &quot;permlink&quot;: &quot;a-post-by-alice&quot;, &quot;weight&quot;: 10000 } ] comment Creates a post/comment. Notes: title: must not be larger than 256 bytes title: must be UTF-8 body: must be larger than 0 bytes body: must be UTF-8 Roles: posting active owner Parameters: parent_author parent_permlink author permlink title body json_metadata Example Op: [ &quot;comment&quot;, { &quot;parent_author&quot;: &quot;&quot;, &quot;parent_permlink&quot;: &quot;steem&quot;, &quot;author&quot;: &quot;alice&quot;, &quot;permlink&quot;: &quot;a-post-by-alice&quot;, &quot;title&quot;: &quot;A Post By Alice&quot;, &quot;body&quot;: &quot;This is my post.&quot;, &quot;json_metadata&quot;: &quot;{\&quot;tags\&quot;:[\&quot;steemit\&quot;,\&quot;example\&quot;,\&quot;tags\&quot;]}&quot; } ] transfer Transfers asset from one account to another. The memo is plain-text, any encryption on the memo is up to a higher level protocol. Notes: Transferring of Steem Power (VESTS) is not allowed. Cannot transfer a negative amount (aka: stealing). Memo must be less than 2048 bytes. Memo must be UTF-8. Roles: active owner Parameters: from to amount memo Example Op: [ &quot;transfer&quot;, { &quot;from&quot;: &quot;steemit&quot;, &quot;to&quot;: &quot;alice&quot;, &quot;amount&quot;: { &quot;amount&quot;: &quot;10&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;memo&quot;: &quot;Thanks for all the fish.&quot; } ] transfer_to_vesting This operation converts STEEM into VFS (Vesting Fund Shares) at the current exchange rate. With this operation it is possible to give another account vesting shares so that faucets can pre-fund new accounts with vesting shares. Notes: Amount must be in STEEM. Must transfer a nonzero amount. Roles: active owner Parameters: from to amount Example Op: [ &quot;transfer_to_vesting&quot;, { &quot;from&quot;: &quot;alice&quot;, &quot;to&quot;: &quot;&quot;, &quot;amount&quot;: { &quot;amount&quot;: &quot;357000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; } } ] withdraw_vesting At any given point in time an account can be withdrawing from their vesting shares. A user may change the number of shares they wish to cash out at any time between 0 and their total vesting stake. After applying this operation, vesting_shares will be withdrawn at a rate of vesting_shares/13 per week for 13 weeks starting one week after this operation is included in the blockchain. This operation is not valid if the user has no vesting shares. Notes: Amount must be VESTS. Roles: active owner Parameters: account vesting_shares Example Op: [ &quot;withdraw_vesting&quot;, { &quot;account&quot;: &quot;steemit&quot;, &quot;vesting_shares&quot;: { &quot;amount&quot;: &quot;200000000000&quot;, &quot;precision&quot;: 6, &quot;nai&quot;: &quot;@@000000037&quot; } } ] limit_order_create This operation creates a limit order and matches it against existing open orders. Roles: active owner Parameters: owner orderid amount_to_sell min_to_receive fill_or_kill expiration Example Op: [ &quot;limit_order_create&quot;, { &quot;owner&quot;: &quot;steemit&quot;, &quot;orderid&quot;: 10, &quot;amount_to_sell&quot;: { &quot;amount&quot;: &quot;9950&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;min_to_receive&quot;: { &quot;amount&quot;: &quot;3500&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;fill_or_kill&quot;: false, &quot;expiration&quot;: &quot;2035-10-29T06:32:22&quot; } ] limit_order_cancel Cancels an order and returns the balance to owner. Roles: active owner Parameters: owner orderid Example Op: [ &quot;limit_order_cancel&quot;, {&quot;owner&quot;: &quot;steemit&quot;, &quot;orderid&quot;: 10} ] price Roles: active owner Parameters: base quote feed_publish Feeds can only be published by the top N witnesses which are included in every round and are used to define the exchange rate between steem and the dollar. Roles: active owner Parameters: publisher exchange_rate Example Op: [ &quot;feed_publish&quot;, { &quot;publisher&quot;: &quot;alice&quot;, &quot;exchange_rate&quot;: { &quot;base&quot;: { &quot;amount&quot;: &quot;1000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;quote&quot;: { &quot;amount&quot;: &quot;1000000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; } } } ] convert This operation instructs the blockchain to start a conversion between STEEM and SBD, the funds are deposited after 3.5 days. Roles: active owner Parameters: owner requestid amount Example Op: [ &quot;convert&quot;, { &quot;owner&quot;: &quot;steemit&quot;, &quot;requestid&quot;: 1467592156, &quot;amount&quot;: { &quot;amount&quot;: &quot;5000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; } } ] account_create Roles: active owner Parameters: fee creator new_account_name owner active posting memo_key json_metadata Example Op: [ &quot;account_create&quot;, { &quot;fee&quot;: { &quot;amount&quot;: &quot;0&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;creator&quot;: &quot;steemit&quot;, &quot;new_account_name&quot;: &quot;alice&quot;, &quot;owner&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM5b4i9gBqvh4sbgrooXPu2dbGLewNPZkXeuNeBjyiswnu2szgXx&quot;, 1 ] ] }, &quot;active&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM7ko5nzqaYfjbD4tKWGmiy3xtT9eQFZ3Pcmq5JmygTRptWSiVQy&quot;, 1 ] ] }, &quot;posting&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM5xAKxnMT2y9VoVJdF63K8xRQAohsiQy9bA33aHeyMB5vgkzaay&quot;, 1 ] ] }, &quot;memo_key&quot;: &quot;STM8ZSyzjPm48GmUuMSRufkVYkwYbZzbxeMysAVp7KFQwbTf98TcG&quot;, &quot;json_metadata&quot;: &quot;{}&quot; } ] account_update Roles: active owner Parameters: account owner active posting memo_key json_metadata Example Op: [ &quot;account_update&quot;, { &quot;account&quot;: &quot;steemit&quot;, &quot;posting&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM6FATHLohxTN8RWWkU9ZZwVywXo6MEDjHHui1jEBYkG2tTdvMYo&quot;, 1 ], [ &quot;STM76EQNV2RTA6yF9TnBvGSV71mW7eW36MM7XQp24JxdoArTfKA76&quot;, 1 ] ] }, &quot;memo_key&quot;: &quot;STM6FATHLohxTN8RWWkU9ZZwVywXo6MEDjHHui1jEBYkG2tTdvMYo&quot;, &quot;json_metadata&quot;: &quot;&quot; } ] Disabled report_over_production Disabled in HF4 This operation is used to report a miner who signs two blocks at the same time. To be valid, the violation must be reported within STEEM_MAX_WITNESSES blocks of the head block (1 round) and the producer must be in the ACTIVE witness set. Users not in the ACTIVE witness set should not have to worry about their key getting compromised and being used to produced multiple blocks so the attacker can report it and steel their vesting steem. The result of the operation is to transfer the full VESTING STEEM balance of the block producer to the reporter. Roles: active owner Parameters: reporter first_block second_block witness_update Users who wish to become a witness must pay a fee acceptable to the current witnesses to apply for the position and allow voting to begin. If the owner isn’t a witness they will become a witness. Witnesses are charged a fee equal to 1 weeks worth of witness pay which in turn is derived from the current share supply. The fee is only applied if the owner is not already a witness. If the block_signing_key is null then the witness is removed from contention. The network will pick the top 21 witnesses for producing blocks. Notes: The fee paid to register a new witness, should be 10x current block production pay. url cannot be more than 2048 bytes. url must be UTF-8. fee cannot be negative. Roles: active owner Parameters: owner url block_signing_key props fee Example Op: [ &quot;witness_update&quot;, { &quot;owner&quot;: &quot;alice&quot;, &quot;url&quot;: &quot;witness-category/my-witness&quot;, &quot;block_signing_key&quot;: &quot;STM8LoQjQqJHvotqBo7HjnqmUbFW9oJ2theyqonzUd9DdJ7YYHsvD&quot;, &quot;props&quot;: { &quot;account_creation_fee&quot;: { &quot;amount&quot;: &quot;100000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;maximum_block_size&quot;: 131072, &quot;sbd_interest_rate&quot;: 1000 }, &quot;fee&quot;: { &quot;amount&quot;: &quot;0&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; } } ] account_witness_vote All accounts with a VFS (Vesting Fund Shares) can vote for or against any witness. If a proxy is specified then all existing votes are removed. Roles: active owner Parameters: account witness approve Example Op: [ &quot;account_witness_vote&quot;, { &quot;account&quot;: &quot;alice&quot;, &quot;witness&quot;: &quot;bob&quot;, &quot;approve&quot;: true } ] account_witness_proxy Roles: active owner Parameters: account proxy Example Op: [ &quot;account_witness_proxy&quot;, {&quot;account&quot;: &quot;alice&quot;, &quot;proxy&quot;: &quot;bob&quot;} ] Disabled pow Disabled in HF14. Roles: active owner Parameters: worker input signature work Example Op: [ &quot;pow&quot;, { &quot;worker_account&quot;: &quot;admin&quot;, &quot;block_id&quot;: &quot;000004433bd4602cf5f74dbb564183837df9cef8&quot;, &quot;nonce&quot;: 82, &quot;work&quot;: { &quot;worker&quot;: &quot;STM65wH1LZ7BfSHcK69SShnqCAH5xdoSZpGkUjmzHJ5GCuxEK9V5G&quot;, &quot;input&quot;: &quot;59b009f89477919f95914151cef06f28bf344dd6fb7670aca1c1f4323c80446b&quot;, &quot;signature&quot;: &quot;1f3f83209097efcd01b7d6f27ce726164323d503d6fcf4d55bfb7cb3032796f6766738b36062b5850d69447fdf9c091cbc70825df5eeacc4710a0b11ffdbf0912a&quot;, &quot;work&quot;: &quot;0b62f4837801cd857f01d6a541faeb13d6bb95f1c36c6b4b14a47df632aa6c92&quot; }, &quot;props&quot;: { &quot;account_creation_fee&quot;: { &quot;amount&quot;: &quot;100000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;maximum_block_size&quot;: 131072, &quot;sbd_interest_rate&quot;: 1000 } } ] custom Provides a generic way to add higher level protocols on top of witness consensus. There is no validation for this operation other than that required auths are valid. Roles: active owner Parameters: required_auths id data Example Op: [ &quot;custom&quot;, { &quot;required_auths&quot;: [&quot;bytemaster&quot;], &quot;id&quot;: 777, &quot;data&quot;: &quot;0a627974656d617374657207737465656d697402a3d13897d82114466ad87a74b73a53292d8331d1bd1d3082da6bfbcff19ed097029db013797711c88cccca3692407f9ff9b9ce7221aaa2d797f1692be2215d0a5f6d2a8cab6832050078bc5729201e3ea24ea9f7873e6dbdc65a6bd9899053b9acda876dc69f11a13df9ca8b26b6&quot; } ] delete_comment Roles: posting active owner Parameters: author permlink Example Op: [ &quot;delete_comment&quot;, { &quot;author&quot;: &quot;alice&quot;, &quot;permlink&quot;: &quot;a-post-by-alice&quot; } ] custom_json Serves the same purpose as custom but also supports required posting authorities. Unlike custom, this operation is designed to be human readable/developer friendly. follow As of HF9, the follow plugin will track follow/unfollow/ignore events. reblog As of HF14, allows users to share blogs they find with those who follow them. This change implemented entirely outside the blockchain consensus which means that reblogging does not create a new post, it merely shares an existing post with people who follow you. witness As of HF18, the witness plugin has a custom operation called enable_content_editing that allows a user to signal they want to edit their content. By consensus, content is editable indefinitely, but is soft forked to be frozen after payout. This operation requires an active key and is designed to prevent vandalism if a posting key is compromised. #1017 Roles: posting active owner Parameters: required_auths required_posting_auths id json Example Op: [ &quot;custom_json&quot;, { &quot;required_auths&quot;: [], &quot;required_posting_auths&quot;: [&quot;steemit&quot;], &quot;id&quot;: &quot;follow&quot;, &quot;json&quot;: &quot;[\&quot;follow\&quot;,{\&quot;follower\&quot;:\&quot;steemit\&quot;,\&quot;following\&quot;:\&quot;alice\&quot;,\&quot;what\&quot;:[\&quot;blog\&quot;]}]&quot; } ] [ &quot;custom_json&quot;, { &quot;required_auths&quot;: [], &quot;required_posting_auths&quot;: [&quot;alice&quot;], &quot;id&quot;: &quot;follow&quot;, &quot;json&quot;: &quot;[\&quot;follow\&quot;,{\&quot;follower\&quot;:\&quot;alice\&quot;,\&quot;following\&quot;:\&quot;eve\&quot;,\&quot;what\&quot;:[\&quot;ignore\&quot;]}]&quot; } ] [ &quot;custom_json&quot;, { &quot;required_auths&quot;: [], &quot;required_posting_auths&quot;: [&quot;bob&quot;], &quot;id&quot;: &quot;reblog&quot;, &quot;json&quot;: &quot;{\&quot;account\&quot;:\&quot;bob\&quot;,\&quot;author\&quot;:\&quot;alice\&quot;,\&quot;permlink\&quot;:\&quot;a-post-by-alice\&quot;}&quot; } ] [ &quot;custom_json&quot;, { &quot;required_auths&quot;: [&quot;alice&quot;], &quot;required_posting_auths&quot;: [], &quot;id&quot;: &quot;witness&quot;, &quot;json&quot;: &quot;[\&quot;enable_content_editing\&quot;, {\&quot;account\&quot;: \&quot;alice\&quot;, \&quot;relock_time\&quot;: \&quot;2100-01-01T12:00:00\&quot;}]&quot; } ] comment_options Authors of posts may not want all of the benefits that come from creating a post. This operation allows authors to update properties associated with their post. Typically, these options will accompany a comment operation in the same transaction. As of HF17, content can specify beneficiaries to receive a part of their author rewards. The beneficiaries are specified in the extension field of the comment_options_operation and is a sorted vector (by account name) of account name, weight pairs. The beneficiaries can only be specified once and must be specified before any votes are cast on the comment. Most apps are already adding a comment_options in the transaction that creates the comment, so this should not be much of a challenge to add to existing apps. Notes: The max_accepted_payout may be decreased, but never increased. The percent_steem_dollars may be decreased, but never increased. Part of comment_option validation process, to be called when allowed_vote_assets object has been added as comment option extension are: When votable assets are greater than maximum votable assets: “Too much votable assets specified” When the symbol is not allowed in the list for votable assets: “STEEM can not be explicitly specified as one of allowed_vote_assets” max_accepted_payout: SBD value of the maximum payout this post will receive percent_steem_dollars: the percent of Steem Dollars to key, unkept amounts will be received as Steem Power allow_votes: allows/disallows a post to receive votes; allow_curation_rewards: allows/disllows voters to recieve curation rewards. Rewards return to reward fund. beneficiaries Must have at least one (empty beneficiaries not allowed). Cannot have more than 127 (witness currently only allow up to 8). Cannot allocate more than 100% of rewards to one account. Cannot allocate more than 100% of rewards to a comment. Must be specified in sorted order (account ascending; no duplicates). Roles: posting active owner Parameters: author permlink max_accepted_payout percent_steem_dollars allow_votes allow_curation_rewards extensions Example Op: [ &quot;comment_options&quot;, { &quot;author&quot;: &quot;alice&quot;, &quot;permlink&quot;: &quot;a-post-by-alice&quot;, &quot;max_accepted_payout&quot;: { &quot;amount&quot;: &quot;1000000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;percent_steem_dollars&quot;: 5000, &quot;allow_votes&quot;: true, &quot;allow_curation_rewards&quot;: true, &quot;extensions&quot;: [] } ] [ &quot;comment_options&quot;, { &quot;author&quot;: &quot;bob&quot;, &quot;permlink&quot;: &quot;a-post-with-a-beneficiary&quot;, &quot;max_accepted_payout&quot;: { &quot;amount&quot;: &quot;1000000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;percent_steem_dollars&quot;: 63, &quot;allow_votes&quot;: true, &quot;allow_curation_rewards&quot;: true, &quot;extensions&quot;: [ [ 0, { &quot;beneficiaries&quot;: [{&quot;account&quot;: &quot;charlie&quot;, &quot;weight&quot;: 1000}] } ] ] } ] [ &quot;comment_options&quot;, { &quot;author&quot;: &quot;charlie&quot;, &quot;permlink&quot;: &quot;a-post-with-multiple-beneficiaries&quot;, &quot;max_accepted_payout&quot;: { &quot;amount&quot;: &quot;1000000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;percent_steem_dollars&quot;: 62688, &quot;allow_votes&quot;: true, &quot;allow_curation_rewards&quot;: true, &quot;extensions&quot;: [ [ 0, { &quot;beneficiaries&quot;: [ {&quot;account&quot;: &quot;david&quot;, &quot;weight&quot;: 500}, {&quot;account&quot;: &quot;erin&quot;, &quot;weight&quot;: 500}, {&quot;account&quot;: &quot;faythe&quot;, &quot;weight&quot;: 1000}, {&quot;account&quot;: &quot;frank&quot;, &quot;weight&quot;: 500} ] } ] ] } ] set_withdraw_vesting_route Allows an account to setup a vesting withdraw but with the additional request for the funds to be transferred directly to another account’s balance rather than the withdrawing account. In addition, those funds can be immediately vested again, circumventing the conversion from vests to steem and back, guaranteeing they maintain their value. Notes: Percent must be valid steem percent. Roles: active owner Parameters: from_account to_account percent auto_vest Example Op: [ &quot;set_withdraw_vesting_route&quot;, { &quot;from_account&quot;: &quot;alice&quot;, &quot;to_account&quot;: &quot;bob&quot;, &quot;percent&quot;: 10000, &quot;auto_vest&quot;: true } ] limit_order_create2 This operation is identical to limit_order_create except it serializes the price rather than calculating it from other fields. Roles: active owner Parameters: owner orderid amount_to_sell exchange_rate fill_or_kill expiration Example Op: [ &quot;limit_order_create2&quot;, { &quot;owner&quot;: &quot;alice&quot;, &quot;orderid&quot;: 492991, &quot;amount_to_sell&quot;: { &quot;amount&quot;: &quot;1&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;exchange_rate&quot;: { &quot;base&quot;: { &quot;amount&quot;: &quot;1&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;quote&quot;: { &quot;amount&quot;: &quot;10&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; } }, &quot;fill_or_kill&quot;: false, &quot;expiration&quot;: &quot;2017-05-12T23:11:13&quot; } ] Disabled challenge_authority Disabled in HF14. Roles: posting active owner Parameters: challenger challenged require_owner prove_authority Roles: active owner Parameters: challenged require_owner Since: HF11 request_account_recovery All account recovery requests come from a listed recovery account. This is secure based on the assumption that only a trusted account should be a recovery account. It is the responsibility of the recovery account to verify the identity of the account holder of the account to recover by whichever means they have agreed upon. The blockchain assumes identity has been verified when this operation is broadcast. This operation creates an account recovery request which the account to recover has 24 hours to respond to before the request expires and is invalidated. There can only be one active recovery request per account at any one time. Pushing this operation for an account to recover when it already has an active request will either update the request to a new new owner authority and extend the request expiration to 24 hours from the current head block time or it will delete the request. To cancel a request, simply set the weight threshold of the new owner authority to 0, making it an open authority. Additionally, the new owner authority must be satisfiable. In other words, the sum of the key weights must be greater than or equal to the weight threshold. This operation only needs to be signed by the the recovery account. The account to recover confirms its identity to the blockchain in the recover account operation. Notes: recovery_account: The recovery account is listed as the recovery account on the account to recover. account_to_recover: The account to recover. This is likely due to a compromised owner authority. new_owner_authority: The new owner authority the account to recover wishes to have. This is secret known by the account to recover and will be confirmed in a recover_account. See: #169 Roles: active owner Parameters: recovery_account account_to_recover new_owner_authority extensions Example Op: [ &quot;request_account_recovery&quot;, { &quot;recovery_account&quot;: &quot;steem&quot;, &quot;account_to_recover&quot;: &quot;alice&quot;, &quot;new_owner_authority&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM6LYxj96zdypHYqgDdD6Nyh2NxerN3P1Mp3ddNm7gci63nfrSuZ&quot;, 1 ] ] }, &quot;extensions&quot;: [] } ] Since: HF11 recover_account Roles: owner Parameters: account_to_recover new_owner_authority recent_owner_authority extensions Example Op: [ &quot;recover_account&quot;, { &quot;account_to_recover&quot;: &quot;alice&quot;, &quot;new_owner_authority&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM7j3nhkhHTpXqLEvdx2yEGhQeeorTcxSV6WDL2DZGxwUxYGrHvh&quot;, 1 ] ] }, &quot;recent_owner_authority&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM78Xth94gNxp8nmByFV2vNAhg9bsSdviJ6fQXUTFikySLK3uTxC&quot;, 1 ] ] }, &quot;extensions&quot;: [] } ] Since: HF11 change_recovery_account Each account lists another account as their recovery account. The recovery account has the ability to create account_recovery_requests for the account to recover. An account can change their recovery account at any time with a 30 day delay. This delay is to prevent an attacker from changing the recovery account to a malicious account during an attack. These 30 days match the 30 days that an owner authority is valid for recovery purposes. On account creation the recovery account is set either to the creator of the account (The account that pays the creation fee and is a signer on the transaction) or to the empty string if the account was mined. An account with no recovery has the top voted witness as a recovery account, at the time the recover request is created. Note: This does mean the effective recovery account of an account with no listed recovery account can change at any time as witness vote weights. The top voted witness is explicitly the most trusted witness according to stake. See: #169 Roles: owner Parameters: account_to_recover new_recovery_account extensions Example Op: [ &quot;change_recovery_account&quot;, { &quot;account_to_recover&quot;: &quot;alice&quot;, &quot;new_recovery_account&quot;: &quot;bob&quot;, &quot;extensions&quot;: [] } ] Since: HF14 escrow_transfer The purpose of this operation is to enable someone to send money contingently to another individual. The funds leave the from account and go into a temporary balance where they are held until from releases it to to or to refunds it to from. In the event of a dispute the agent can divide the funds between the to/from account. Disputes can be raised any time before or on the dispute deadline time, after the escrow has been approved by all parties. This operation only creates a proposed escrow transfer. Both the agent and to must agree to the terms of the arrangement by approving the escrow. The escrow agent is paid the fee on approval of all parties. It is up to the escrow agent to determine the fee. Escrow transactions are uniquely identified by from and escrow_id, the escrow_id is defined by the sender. See: steem_operations.hpp:229 Roles: active owner Parameters: from to agent escrow_id sbd_amount steem_amount fee ratification_deadline escrow_expiration json_meta Example Op: [ &quot;escrow_transfer&quot;, { &quot;from&quot;: &quot;alice&quot;, &quot;to&quot;: &quot;bob&quot;, &quot;sbd_amount&quot;: { &quot;amount&quot;: &quot;1000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;steem_amount&quot;: { &quot;amount&quot;: &quot;0&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;escrow_id&quot;: 23456789, &quot;agent&quot;: &quot;charlie&quot;, &quot;fee&quot;: { &quot;amount&quot;: &quot;100&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;json_meta&quot;: &quot;{}&quot;, &quot;ratification_deadline&quot;: &quot;2017-02-26T11:22:39&quot;, &quot;escrow_expiration&quot;: &quot;2017-02-28T11:22:39&quot; } ] Since: HF14 escrow_dispute If either the sender or receiver of an escrow payment has an issue, they can raise it for dispute. Once a payment is in dispute, the agent has authority over who gets what. See: steem_operations.hpp:229 Roles: active owner Parameters: from to agent who escrow_id Example Op: [ &quot;escrow_dispute&quot;, { &quot;from&quot;: &quot;alice&quot;, &quot;to&quot;: &quot;bob&quot;, &quot;agent&quot;: &quot;charlie&quot;, &quot;who&quot;: &quot;alice&quot;, &quot;escrow_id&quot;: 72526562 } ] Since: HF14 escrow_release This operation can be used by anyone associated with the escrow transfer to release funds if they have permission. The permission scheme is as follows: If there is no dispute and escrow has not expired, either party can release funds to the other. If escrow expires and there is no dispute, either party can release funds to either party. If there is a dispute regardless of expiration, the agent can release funds to either party following whichever agreement was in place between the parties. See: steem_operations.hpp:229 Roles: active owner Parameters: from to agent who receiver escrow_id sbd_amount steem_amount Example Op: [ &quot;escrow_release&quot;, { &quot;from&quot;: &quot;alice&quot;, &quot;to&quot;: &quot;bob&quot;, &quot;agent&quot;: &quot;charlie&quot;, &quot;who&quot;: &quot;charlie&quot;, &quot;receiver&quot;: &quot;bob&quot;, &quot;escrow_id&quot;: 72526562, &quot;sbd_amount&quot;: { &quot;amount&quot;: &quot;5000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;steem_amount&quot;: { &quot;amount&quot;: &quot;0&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; } } ] Disabled pow2 Disabled in HF17. Roles: active owner Parameters: input pow_summary Example Op: [ &quot;pow2&quot;, { &quot;work&quot;: [ 0, { &quot;input&quot;: { &quot;worker_account&quot;: &quot;alice&quot;, &quot;prev_block&quot;: &quot;003ea604345523c344fbadab605073ea712dd76f&quot;, &quot;nonce&quot;: &quot;1052853013628665497&quot; }, &quot;pow_summary&quot;: 3817904373 } ], &quot;props&quot;: { &quot;account_creation_fee&quot;: { &quot;amount&quot;: &quot;1&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;maximum_block_size&quot;: 131072, &quot;sbd_interest_rate&quot;: 1000 } } ] Since: HF14 escrow_approve The agent and to accounts must approve an escrow transaction for it to be valid on the blockchain. Once a party approves the escrow, they cannot revoke their approval. Subsequent escrow approve operations, regardless of the approval, will be rejected. See: steem_operations.hpp:229 Roles: active owner Parameters: from to agent who escrow_id approve Example Op: [ &quot;escrow_approve&quot;, { &quot;from&quot;: &quot;alice&quot;, &quot;to&quot;: &quot;bob&quot;, &quot;agent&quot;: &quot;charlie&quot;, &quot;who&quot;: &quot;charlie&quot;, &quot;escrow_id&quot;: 59102208, &quot;approve&quot;: true } ] Since: HF14 transfer_to_savings For time locked savings accounts. A user can place Steem and Steem Dollars into time locked savings balances. Funds can be withdrawn from these balances after a three day delay. The point of this addition is to mitigate loss from hacked and compromised account. The max a user can lose instantaneously is the sum of what the hold in liquid balances. Assuming an account can be recovered quickly, loss in such situations can be kept to a minimum. See: steem_operations.hpp:868 Roles: active owner Parameters: from to amount memo Example Op: [ &quot;transfer_to_savings&quot;, { &quot;from&quot;: &quot;alice&quot;, &quot;to&quot;: &quot;alice&quot;, &quot;amount&quot;: { &quot;amount&quot;: &quot;1000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;memo&quot;: &quot;&quot; } ] Since: HF14 transfer_from_savings Roles: active owner Parameters: from request_id to amount memo Example Op: [ &quot;transfer_from_savings&quot;, { &quot;from&quot;: &quot;alice&quot;, &quot;request_id&quot;: 101, &quot;to&quot;: &quot;alice&quot;, &quot;amount&quot;: { &quot;amount&quot;: &quot;1000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;memo&quot;: &quot;&quot; } ] Since: HF14 cancel_transfer_from_savings Roles: active owner Parameters: from request_id Example Op: [ &quot;cancel_transfer_from_savings&quot;, {&quot;from&quot;: &quot;alice&quot;, &quot;request_id&quot;: 1} ] Since: HF14 custom_binary The semmantics for this operation are the same as the custom_json operation, but with a binary payload. The json deserialization has a non-trivial cost associated with it. This operation will allow for binary deserialization of plugin operations and should improve overall performance of plugins that chose to use it. See: steem_operations.hpp:491 Roles: posting active owner Parameters: id data Since: HF14 decline_voting_rights An account can chose to decline their voting rights after a 30 day delay. This includes voting on content and witnesses. The voting rights cannot be acquired again once they have been declined. This is only to formalize a smart contract between certain accounts and the community that currently only exists as a social contract. See: steem_operations.hpp:897 Roles: owner Parameters: account decline Example Op: [ &quot;decline_voting_rights&quot;, {&quot;account&quot;: &quot;judy&quot;, &quot;decline&quot;: true} ] Since: HF11 Disabled reset_account This operation allows recovery_account to change account_to_reset’s owner authority to new_owner_authority after 60 days of inactivity. See: #169 Roles: active owner Parameters: reset_account account_to_reset new_owner_authority Since: HF11 Disabled set_reset_account This operation allows account owner to control which account has the power to execute the reset_account operation after 60 days. See: #169 Roles: owner posting Parameters: account current_reset_account reset_account claim_reward_balance Roles: posting active owner Parameters: account reward_steem reward_sbd reward_vests Example Op: [ &quot;claim_reward_balance&quot;, { &quot;account&quot;: &quot;alice&quot;, &quot;reward_steem&quot;: { &quot;amount&quot;: &quot;17&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;reward_sbd&quot;: { &quot;amount&quot;: &quot;11&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;reward_vests&quot;: { &quot;amount&quot;: &quot;185025103&quot;, &quot;precision&quot;: 6, &quot;nai&quot;: &quot;@@000000037&quot; } } ] Since: HF17 delegate_vesting_shares Delegate vesting shares from one account to the other. The vesting shares are still owned by the original account, but content voting rights and bandwidth allocation are transferred to the receiving account. This sets the delegation to vesting_shares, increasing it or decreasing it as needed (i.e. a delegation of 0 removes the delegation). When a delegation is removed the shares are placed in limbo for a week to prevent a satoshi of VESTS from voting on the same content twice. Also see: steem_evaluator.cpp:2309 Roles: active owner Parameters: delegator delegatee vesting_shares Example Op: [ &quot;delegate_vesting_shares&quot;, { &quot;delegator&quot;: &quot;alice&quot;, &quot;delegatee&quot;: &quot;bob&quot;, &quot;vesting_shares&quot;: { &quot;amount&quot;: &quot;94599167138276&quot;, &quot;precision&quot;: 6, &quot;nai&quot;: &quot;@@000000037&quot; } } ] Since: HF17 account_create_with_delegation Instead of paying the entire account creation fee with Steem, creators can now pay a smaller fee (30x less) and delegate some Steem Power for 30 days. The exact amount is 5 * min_fee + STEEM_POWER == 150 * min_fee. You can pay any combination of STEEM and Steem Power along that curve (so long as the minimum fee is paid). The witness voted STEEM fee is now the minimum required STEEM fee for delegation. Witnesses should reduce their fee by 30x when the hardfork goes live to preserve the same required fee for an all STEEM account creation. Also see: config.hpp:145 steem_evaluator.cpp:400 Roles: active owner Parameters: fee delegation creator new_account_name owner active posting memo_key json_metadata extensions Example Op: [ &quot;account_create_with_delegation&quot;, { &quot;fee&quot;: { &quot;amount&quot;: &quot;3000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;delegation&quot;: { &quot;amount&quot;: &quot;0&quot;, &quot;precision&quot;: 6, &quot;nai&quot;: &quot;@@000000037&quot; }, &quot;creator&quot;: &quot;steemit&quot;, &quot;new_account_name&quot;: &quot;alice&quot;, &quot;owner&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM5Tki3ecCdCCHCjhhwvQvXuKryL2s34Ma6CXsRzntSUTYVYxCQ9&quot;, 1 ] ] }, &quot;active&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM6LUoAA8gCL9tHRz7v9xcwR4ZWD3KDRHP5t1U7UAZHdfanLxyBE&quot;, 1 ] ] }, &quot;posting&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM8anmpHdfVE4AmwsDpcSXpRsydHysEbv6vGJkRQy1d1CC83zeTA&quot;, 1 ] ] }, &quot;memo_key&quot;: &quot;STM67RYDyEkP1Ja1jFehJ45BFGA9oHHUnRnYbxKJEtMhVQiHW3S3k&quot;, &quot;json_metadata&quot;: &quot;{}&quot;, &quot;extensions&quot;: [] } ] Virtual Operation fill_convert_request Fills when conversion requests with a conversion date before the head block time and then converts them to/from steem/sbd at the current median price feed history price times the premium. Roles: active owner Parameters: owner requestid amount_in amount_out Virtual Operation author_reward Roles: posting active owner Parameters: author permlink sbd_payout steem_payout vesting_payout Virtual Operation curation_reward Roles: posting active owner Parameters: curator reward comment_author comment_permlink Since: HF17 Virtual Operation comment_reward See: #774 Roles: posting active owner Parameters: author permlink payout Virtual Operation Disabled liquidity_reward Deprecated as of HF12, see: #178. Roles: active owner Parameters: owner payout Virtual Operation interest Roles: active owner Parameters: owner interest Example Op: [ &quot;interest&quot;, {&quot;owner&quot;: &quot;alice&quot;, &quot;interest&quot;: &quot;0.001 SBD&quot;} ] Since: HF6 Virtual Operation fill_vesting_withdraw See: #78 Roles: active owner Parameters: from_account to_account withdrawn deposited Example Op: [ &quot;fill_vesting_withdraw&quot;, { &quot;from_account&quot;: &quot;alice&quot;, &quot;to_account&quot;: &quot;alice&quot;, &quot;withdrawn&quot;: &quot;0.026475 VESTS&quot;, &quot;deposited&quot;: &quot;0.710 STEEM&quot; } ] Virtual Operation fill_order Roles: posting active owner Parameters: current_owner current_orderid current_pays open_owner open_orderid open_pays Example Op: [ &quot;fill_order&quot;, { &quot;current_owner&quot;: &quot;alice&quot;, &quot;current_orderid&quot;: 42896, &quot;current_pays&quot;: &quot;94.999 SBD&quot;, &quot;open_owner&quot;: &quot;bob&quot;, &quot;open_orderid&quot;: 10001, &quot;open_pays&quot;: &quot;500.000 STEEM&quot; } ] Since: HF14 Virtual Operation shutdown_witness When a witness goes offline. See: #278 Roles: posting active owner Parameters: owner Example Op: [&quot;shutdown_witness&quot;, {&quot;owner&quot;: &quot;alice&quot;}] Since: HF14 Virtual Operation fill_transfer_from_savings Roles: posting active owner Parameters: from to amount request_id memo Since: HF9 Virtual Operation hardfork Roles: posting active owner Parameters: hardfork_id Virtual Operation comment_payout_update Roles: posting active owner Parameters: author permlink Since: HF17 Virtual Operation return_vesting_delegation Roles: posting active owner Parameters: account vesting_shares Since: HF17 Virtual Operation comment_benefactor_reward Roles: posting active owner Parameters: benefactor author permlink reward Since: HF17 Virtual Operation producer_reward Witness rewards for block signing are hard to account for. Making these rewards visible will help witnesses and prospective witnesses by providing them with more complete and accurate information to guide their decisions to invest in the platform. Roles: posting active owner Parameters: producer vesting_shares Example Op: [ &quot;producer_reward&quot;, { &quot;producer&quot;: &quot;alice&quot;, &quot;vesting_shares&quot;: &quot;14403.626449 VESTS&quot; } ]" />
<link rel="canonical" href="https://developer.steem.io/apidefinitions/broadcast-ops" />
<meta property="og:url" content="https://developer.steem.io/apidefinitions/broadcast-ops" />
<meta property="og:site_name" content="Steem Developer" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2018-07-20T12:56:08-05:00" />
<script type="application/ld+json">
{"@context": "http://schema.org",
"@type": "BlogPosting",
"headline": "Broadcast Ops",
"datePublished": "2018-07-20T12:56:08-05:00",
"description": "An operation on Steem is a way of expressing intention on the blockchain. They are also known as Broadcast Operations. They have types, like vote or comment. They pass parameters like author and permlink, depending on what their purpose is. Operations are grouped into transactions and passed as parameters to methods like network_broadcast_api.broadcast_transaction_synchronous, in the operations array. Transactions must be signed in order for the blockchain to accept them. Here is an example of a transaction that contains one operation (shown without signatures). { &quot;jsonrpc&quot;:&quot;2.0&quot;, &quot;method&quot;:&quot;network_broadcast_api.broadcast_transaction_synchronous&quot;, &quot;params&quot;:{ &quot;trx&quot;:{ &quot;ref_block_num&quot;:1097, &quot;ref_block_prefix&quot;:2181793527, &quot;expiration&quot;:&quot;2016-03-24T18:00:21&quot;, &quot;operations&quot;:[ [ &quot;vote&quot;, { &quot;voter&quot;:&quot;steemit&quot;, &quot;author&quot;:&quot;alice&quot;, &quot;permlink&quot;:&quot;a-post-by-alice&quot;, &quot;weight&quot;:10000 } ] ], &quot;extensions&quot;:[], &quot;signatures&quot;:[] } }, &quot;id&quot;:1 } Also see: Network Broadcast API vote This operation is used to cast a vote on a post/comment. The primary purpose of voting is to express Proof-of-Brain about content to the blockchain. When a vote is cast, the content is considered in the consensus rules involving author and curation rewards. An upvote can be cast from the point in time that the content is created up to 6.5 days. The remaining 12 hours are locked out of upvotes at which time only downvotes may be cast. A secondary aspect to voting involves reputation, which is not part of consensus. Reputation Rules: Must have non-negative reputation to effect another user’s reputation. If you are down voting another user, you must have more reputation than them to impact their reputation. Notes: voter: must be a valid account name author: must be a valid account name permlink: must be content created by author weight: absolute value must not be more than 10000 (100.00 %). Roles: posting active owner Parameters: voter author permlink weight Example Op: [ &quot;vote&quot;, { &quot;voter&quot;: &quot;steemit&quot;, &quot;author&quot;: &quot;alice&quot;, &quot;permlink&quot;: &quot;a-post-by-alice&quot;, &quot;weight&quot;: 10000 } ] comment Creates a post/comment. Notes: title: must not be larger than 256 bytes title: must be UTF-8 body: must be larger than 0 bytes body: must be UTF-8 Roles: posting active owner Parameters: parent_author parent_permlink author permlink title body json_metadata Example Op: [ &quot;comment&quot;, { &quot;parent_author&quot;: &quot;&quot;, &quot;parent_permlink&quot;: &quot;steem&quot;, &quot;author&quot;: &quot;alice&quot;, &quot;permlink&quot;: &quot;a-post-by-alice&quot;, &quot;title&quot;: &quot;A Post By Alice&quot;, &quot;body&quot;: &quot;This is my post.&quot;, &quot;json_metadata&quot;: &quot;{\\&quot;tags\\&quot;:[\\&quot;steemit\\&quot;,\\&quot;example\\&quot;,\\&quot;tags\\&quot;]}&quot; } ] transfer Transfers asset from one account to another. The memo is plain-text, any encryption on the memo is up to a higher level protocol. Notes: Transferring of Steem Power (VESTS) is not allowed. Cannot transfer a negative amount (aka: stealing). Memo must be less than 2048 bytes. Memo must be UTF-8. Roles: active owner Parameters: from to amount memo Example Op: [ &quot;transfer&quot;, { &quot;from&quot;: &quot;steemit&quot;, &quot;to&quot;: &quot;alice&quot;, &quot;amount&quot;: { &quot;amount&quot;: &quot;10&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;memo&quot;: &quot;Thanks for all the fish.&quot; } ] transfer_to_vesting This operation converts STEEM into VFS (Vesting Fund Shares) at the current exchange rate. With this operation it is possible to give another account vesting shares so that faucets can pre-fund new accounts with vesting shares. Notes: Amount must be in STEEM. Must transfer a nonzero amount. Roles: active owner Parameters: from to amount Example Op: [ &quot;transfer_to_vesting&quot;, { &quot;from&quot;: &quot;alice&quot;, &quot;to&quot;: &quot;&quot;, &quot;amount&quot;: { &quot;amount&quot;: &quot;357000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; } } ] withdraw_vesting At any given point in time an account can be withdrawing from their vesting shares. A user may change the number of shares they wish to cash out at any time between 0 and their total vesting stake. After applying this operation, vesting_shares will be withdrawn at a rate of vesting_shares/13 per week for 13 weeks starting one week after this operation is included in the blockchain. This operation is not valid if the user has no vesting shares. Notes: Amount must be VESTS. Roles: active owner Parameters: account vesting_shares Example Op: [ &quot;withdraw_vesting&quot;, { &quot;account&quot;: &quot;steemit&quot;, &quot;vesting_shares&quot;: { &quot;amount&quot;: &quot;200000000000&quot;, &quot;precision&quot;: 6, &quot;nai&quot;: &quot;@@000000037&quot; } } ] limit_order_create This operation creates a limit order and matches it against existing open orders. Roles: active owner Parameters: owner orderid amount_to_sell min_to_receive fill_or_kill expiration Example Op: [ &quot;limit_order_create&quot;, { &quot;owner&quot;: &quot;steemit&quot;, &quot;orderid&quot;: 10, &quot;amount_to_sell&quot;: { &quot;amount&quot;: &quot;9950&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;min_to_receive&quot;: { &quot;amount&quot;: &quot;3500&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;fill_or_kill&quot;: false, &quot;expiration&quot;: &quot;2035-10-29T06:32:22&quot; } ] limit_order_cancel Cancels an order and returns the balance to owner. Roles: active owner Parameters: owner orderid Example Op: [ &quot;limit_order_cancel&quot;, {&quot;owner&quot;: &quot;steemit&quot;, &quot;orderid&quot;: 10} ] price Roles: active owner Parameters: base quote feed_publish Feeds can only be published by the top N witnesses which are included in every round and are used to define the exchange rate between steem and the dollar. Roles: active owner Parameters: publisher exchange_rate Example Op: [ &quot;feed_publish&quot;, { &quot;publisher&quot;: &quot;alice&quot;, &quot;exchange_rate&quot;: { &quot;base&quot;: { &quot;amount&quot;: &quot;1000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;quote&quot;: { &quot;amount&quot;: &quot;1000000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; } } } ] convert This operation instructs the blockchain to start a conversion between STEEM and SBD, the funds are deposited after 3.5 days. Roles: active owner Parameters: owner requestid amount Example Op: [ &quot;convert&quot;, { &quot;owner&quot;: &quot;steemit&quot;, &quot;requestid&quot;: 1467592156, &quot;amount&quot;: { &quot;amount&quot;: &quot;5000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; } } ] account_create Roles: active owner Parameters: fee creator new_account_name owner active posting memo_key json_metadata Example Op: [ &quot;account_create&quot;, { &quot;fee&quot;: { &quot;amount&quot;: &quot;0&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;creator&quot;: &quot;steemit&quot;, &quot;new_account_name&quot;: &quot;alice&quot;, &quot;owner&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM5b4i9gBqvh4sbgrooXPu2dbGLewNPZkXeuNeBjyiswnu2szgXx&quot;, 1 ] ] }, &quot;active&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM7ko5nzqaYfjbD4tKWGmiy3xtT9eQFZ3Pcmq5JmygTRptWSiVQy&quot;, 1 ] ] }, &quot;posting&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM5xAKxnMT2y9VoVJdF63K8xRQAohsiQy9bA33aHeyMB5vgkzaay&quot;, 1 ] ] }, &quot;memo_key&quot;: &quot;STM8ZSyzjPm48GmUuMSRufkVYkwYbZzbxeMysAVp7KFQwbTf98TcG&quot;, &quot;json_metadata&quot;: &quot;{}&quot; } ] account_update Roles: active owner Parameters: account owner active posting memo_key json_metadata Example Op: [ &quot;account_update&quot;, { &quot;account&quot;: &quot;steemit&quot;, &quot;posting&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM6FATHLohxTN8RWWkU9ZZwVywXo6MEDjHHui1jEBYkG2tTdvMYo&quot;, 1 ], [ &quot;STM76EQNV2RTA6yF9TnBvGSV71mW7eW36MM7XQp24JxdoArTfKA76&quot;, 1 ] ] }, &quot;memo_key&quot;: &quot;STM6FATHLohxTN8RWWkU9ZZwVywXo6MEDjHHui1jEBYkG2tTdvMYo&quot;, &quot;json_metadata&quot;: &quot;&quot; } ] Disabled report_over_production Disabled in HF4 This operation is used to report a miner who signs two blocks at the same time. To be valid, the violation must be reported within STEEM_MAX_WITNESSES blocks of the head block (1 round) and the producer must be in the ACTIVE witness set. Users not in the ACTIVE witness set should not have to worry about their key getting compromised and being used to produced multiple blocks so the attacker can report it and steel their vesting steem. The result of the operation is to transfer the full VESTING STEEM balance of the block producer to the reporter. Roles: active owner Parameters: reporter first_block second_block witness_update Users who wish to become a witness must pay a fee acceptable to the current witnesses to apply for the position and allow voting to begin. If the owner isn’t a witness they will become a witness. Witnesses are charged a fee equal to 1 weeks worth of witness pay which in turn is derived from the current share supply. The fee is only applied if the owner is not already a witness. If the block_signing_key is null then the witness is removed from contention. The network will pick the top 21 witnesses for producing blocks. Notes: The fee paid to register a new witness, should be 10x current block production pay. url cannot be more than 2048 bytes. url must be UTF-8. fee cannot be negative. Roles: active owner Parameters: owner url block_signing_key props fee Example Op: [ &quot;witness_update&quot;, { &quot;owner&quot;: &quot;alice&quot;, &quot;url&quot;: &quot;witness-category/my-witness&quot;, &quot;block_signing_key&quot;: &quot;STM8LoQjQqJHvotqBo7HjnqmUbFW9oJ2theyqonzUd9DdJ7YYHsvD&quot;, &quot;props&quot;: { &quot;account_creation_fee&quot;: { &quot;amount&quot;: &quot;100000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;maximum_block_size&quot;: 131072, &quot;sbd_interest_rate&quot;: 1000 }, &quot;fee&quot;: { &quot;amount&quot;: &quot;0&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; } } ] account_witness_vote All accounts with a VFS (Vesting Fund Shares) can vote for or against any witness. If a proxy is specified then all existing votes are removed. Roles: active owner Parameters: account witness approve Example Op: [ &quot;account_witness_vote&quot;, { &quot;account&quot;: &quot;alice&quot;, &quot;witness&quot;: &quot;bob&quot;, &quot;approve&quot;: true } ] account_witness_proxy Roles: active owner Parameters: account proxy Example Op: [ &quot;account_witness_proxy&quot;, {&quot;account&quot;: &quot;alice&quot;, &quot;proxy&quot;: &quot;bob&quot;} ] Disabled pow Disabled in HF14. Roles: active owner Parameters: worker input signature work Example Op: [ &quot;pow&quot;, { &quot;worker_account&quot;: &quot;admin&quot;, &quot;block_id&quot;: &quot;000004433bd4602cf5f74dbb564183837df9cef8&quot;, &quot;nonce&quot;: 82, &quot;work&quot;: { &quot;worker&quot;: &quot;STM65wH1LZ7BfSHcK69SShnqCAH5xdoSZpGkUjmzHJ5GCuxEK9V5G&quot;, &quot;input&quot;: &quot;59b009f89477919f95914151cef06f28bf344dd6fb7670aca1c1f4323c80446b&quot;, &quot;signature&quot;: &quot;1f3f83209097efcd01b7d6f27ce726164323d503d6fcf4d55bfb7cb3032796f6766738b36062b5850d69447fdf9c091cbc70825df5eeacc4710a0b11ffdbf0912a&quot;, &quot;work&quot;: &quot;0b62f4837801cd857f01d6a541faeb13d6bb95f1c36c6b4b14a47df632aa6c92&quot; }, &quot;props&quot;: { &quot;account_creation_fee&quot;: { &quot;amount&quot;: &quot;100000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;maximum_block_size&quot;: 131072, &quot;sbd_interest_rate&quot;: 1000 } } ] custom Provides a generic way to add higher level protocols on top of witness consensus. There is no validation for this operation other than that required auths are valid. Roles: active owner Parameters: required_auths id data Example Op: [ &quot;custom&quot;, { &quot;required_auths&quot;: [&quot;bytemaster&quot;], &quot;id&quot;: 777, &quot;data&quot;: &quot;0a627974656d617374657207737465656d697402a3d13897d82114466ad87a74b73a53292d8331d1bd1d3082da6bfbcff19ed097029db013797711c88cccca3692407f9ff9b9ce7221aaa2d797f1692be2215d0a5f6d2a8cab6832050078bc5729201e3ea24ea9f7873e6dbdc65a6bd9899053b9acda876dc69f11a13df9ca8b26b6&quot; } ] delete_comment Roles: posting active owner Parameters: author permlink Example Op: [ &quot;delete_comment&quot;, { &quot;author&quot;: &quot;alice&quot;, &quot;permlink&quot;: &quot;a-post-by-alice&quot; } ] custom_json Serves the same purpose as custom but also supports required posting authorities. Unlike custom, this operation is designed to be human readable/developer friendly. follow As of HF9, the follow plugin will track follow/unfollow/ignore events. reblog As of HF14, allows users to share blogs they find with those who follow them. This change implemented entirely outside the blockchain consensus which means that reblogging does not create a new post, it merely shares an existing post with people who follow you. witness As of HF18, the witness plugin has a custom operation called enable_content_editing that allows a user to signal they want to edit their content. By consensus, content is editable indefinitely, but is soft forked to be frozen after payout. This operation requires an active key and is designed to prevent vandalism if a posting key is compromised. #1017 Roles: posting active owner Parameters: required_auths required_posting_auths id json Example Op: [ &quot;custom_json&quot;, { &quot;required_auths&quot;: [], &quot;required_posting_auths&quot;: [&quot;steemit&quot;], &quot;id&quot;: &quot;follow&quot;, &quot;json&quot;: &quot;[\\&quot;follow\\&quot;,{\\&quot;follower\\&quot;:\\&quot;steemit\\&quot;,\\&quot;following\\&quot;:\\&quot;alice\\&quot;,\\&quot;what\\&quot;:[\\&quot;blog\\&quot;]}]&quot; } ] [ &quot;custom_json&quot;, { &quot;required_auths&quot;: [], &quot;required_posting_auths&quot;: [&quot;alice&quot;], &quot;id&quot;: &quot;follow&quot;, &quot;json&quot;: &quot;[\\&quot;follow\\&quot;,{\\&quot;follower\\&quot;:\\&quot;alice\\&quot;,\\&quot;following\\&quot;:\\&quot;eve\\&quot;,\\&quot;what\\&quot;:[\\&quot;ignore\\&quot;]}]&quot; } ] [ &quot;custom_json&quot;, { &quot;required_auths&quot;: [], &quot;required_posting_auths&quot;: [&quot;bob&quot;], &quot;id&quot;: &quot;reblog&quot;, &quot;json&quot;: &quot;{\\&quot;account\\&quot;:\\&quot;bob\\&quot;,\\&quot;author\\&quot;:\\&quot;alice\\&quot;,\\&quot;permlink\\&quot;:\\&quot;a-post-by-alice\\&quot;}&quot; } ] [ &quot;custom_json&quot;, { &quot;required_auths&quot;: [&quot;alice&quot;], &quot;required_posting_auths&quot;: [], &quot;id&quot;: &quot;witness&quot;, &quot;json&quot;: &quot;[\\&quot;enable_content_editing\\&quot;, {\\&quot;account\\&quot;: \\&quot;alice\\&quot;, \\&quot;relock_time\\&quot;: \\&quot;2100-01-01T12:00:00\\&quot;}]&quot; } ] comment_options Authors of posts may not want all of the benefits that come from creating a post. This operation allows authors to update properties associated with their post. Typically, these options will accompany a comment operation in the same transaction. As of HF17, content can specify beneficiaries to receive a part of their author rewards. The beneficiaries are specified in the extension field of the comment_options_operation and is a sorted vector (by account name) of account name, weight pairs. The beneficiaries can only be specified once and must be specified before any votes are cast on the comment. Most apps are already adding a comment_options in the transaction that creates the comment, so this should not be much of a challenge to add to existing apps. Notes: The max_accepted_payout may be decreased, but never increased. The percent_steem_dollars may be decreased, but never increased. Part of comment_option validation process, to be called when allowed_vote_assets object has been added as comment option extension are: When votable assets are greater than maximum votable assets: “Too much votable assets specified” When the symbol is not allowed in the list for votable assets: “STEEM can not be explicitly specified as one of allowed_vote_assets” max_accepted_payout: SBD value of the maximum payout this post will receive percent_steem_dollars: the percent of Steem Dollars to key, unkept amounts will be received as Steem Power allow_votes: allows/disallows a post to receive votes; allow_curation_rewards: allows/disllows voters to recieve curation rewards. Rewards return to reward fund. beneficiaries Must have at least one (empty beneficiaries not allowed). Cannot have more than 127 (witness currently only allow up to 8). Cannot allocate more than 100% of rewards to one account. Cannot allocate more than 100% of rewards to a comment. Must be specified in sorted order (account ascending; no duplicates). Roles: posting active owner Parameters: author permlink max_accepted_payout percent_steem_dollars allow_votes allow_curation_rewards extensions Example Op: [ &quot;comment_options&quot;, { &quot;author&quot;: &quot;alice&quot;, &quot;permlink&quot;: &quot;a-post-by-alice&quot;, &quot;max_accepted_payout&quot;: { &quot;amount&quot;: &quot;1000000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;percent_steem_dollars&quot;: 5000, &quot;allow_votes&quot;: true, &quot;allow_curation_rewards&quot;: true, &quot;extensions&quot;: [] } ] [ &quot;comment_options&quot;, { &quot;author&quot;: &quot;bob&quot;, &quot;permlink&quot;: &quot;a-post-with-a-beneficiary&quot;, &quot;max_accepted_payout&quot;: { &quot;amount&quot;: &quot;1000000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;percent_steem_dollars&quot;: 63, &quot;allow_votes&quot;: true, &quot;allow_curation_rewards&quot;: true, &quot;extensions&quot;: [ [ 0, { &quot;beneficiaries&quot;: [{&quot;account&quot;: &quot;charlie&quot;, &quot;weight&quot;: 1000}] } ] ] } ] [ &quot;comment_options&quot;, { &quot;author&quot;: &quot;charlie&quot;, &quot;permlink&quot;: &quot;a-post-with-multiple-beneficiaries&quot;, &quot;max_accepted_payout&quot;: { &quot;amount&quot;: &quot;1000000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;percent_steem_dollars&quot;: 62688, &quot;allow_votes&quot;: true, &quot;allow_curation_rewards&quot;: true, &quot;extensions&quot;: [ [ 0, { &quot;beneficiaries&quot;: [ {&quot;account&quot;: &quot;david&quot;, &quot;weight&quot;: 500}, {&quot;account&quot;: &quot;erin&quot;, &quot;weight&quot;: 500}, {&quot;account&quot;: &quot;faythe&quot;, &quot;weight&quot;: 1000}, {&quot;account&quot;: &quot;frank&quot;, &quot;weight&quot;: 500} ] } ] ] } ] set_withdraw_vesting_route Allows an account to setup a vesting withdraw but with the additional request for the funds to be transferred directly to another account’s balance rather than the withdrawing account. In addition, those funds can be immediately vested again, circumventing the conversion from vests to steem and back, guaranteeing they maintain their value. Notes: Percent must be valid steem percent. Roles: active owner Parameters: from_account to_account percent auto_vest Example Op: [ &quot;set_withdraw_vesting_route&quot;, { &quot;from_account&quot;: &quot;alice&quot;, &quot;to_account&quot;: &quot;bob&quot;, &quot;percent&quot;: 10000, &quot;auto_vest&quot;: true } ] limit_order_create2 This operation is identical to limit_order_create except it serializes the price rather than calculating it from other fields. Roles: active owner Parameters: owner orderid amount_to_sell exchange_rate fill_or_kill expiration Example Op: [ &quot;limit_order_create2&quot;, { &quot;owner&quot;: &quot;alice&quot;, &quot;orderid&quot;: 492991, &quot;amount_to_sell&quot;: { &quot;amount&quot;: &quot;1&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;exchange_rate&quot;: { &quot;base&quot;: { &quot;amount&quot;: &quot;1&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;quote&quot;: { &quot;amount&quot;: &quot;10&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; } }, &quot;fill_or_kill&quot;: false, &quot;expiration&quot;: &quot;2017-05-12T23:11:13&quot; } ] Disabled challenge_authority Disabled in HF14. Roles: posting active owner Parameters: challenger challenged require_owner prove_authority Roles: active owner Parameters: challenged require_owner Since: HF11 request_account_recovery All account recovery requests come from a listed recovery account. This is secure based on the assumption that only a trusted account should be a recovery account. It is the responsibility of the recovery account to verify the identity of the account holder of the account to recover by whichever means they have agreed upon. The blockchain assumes identity has been verified when this operation is broadcast. This operation creates an account recovery request which the account to recover has 24 hours to respond to before the request expires and is invalidated. There can only be one active recovery request per account at any one time. Pushing this operation for an account to recover when it already has an active request will either update the request to a new new owner authority and extend the request expiration to 24 hours from the current head block time or it will delete the request. To cancel a request, simply set the weight threshold of the new owner authority to 0, making it an open authority. Additionally, the new owner authority must be satisfiable. In other words, the sum of the key weights must be greater than or equal to the weight threshold. This operation only needs to be signed by the the recovery account. The account to recover confirms its identity to the blockchain in the recover account operation. Notes: recovery_account: The recovery account is listed as the recovery account on the account to recover. account_to_recover: The account to recover. This is likely due to a compromised owner authority. new_owner_authority: The new owner authority the account to recover wishes to have. This is secret known by the account to recover and will be confirmed in a recover_account. See: #169 Roles: active owner Parameters: recovery_account account_to_recover new_owner_authority extensions Example Op: [ &quot;request_account_recovery&quot;, { &quot;recovery_account&quot;: &quot;steem&quot;, &quot;account_to_recover&quot;: &quot;alice&quot;, &quot;new_owner_authority&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM6LYxj96zdypHYqgDdD6Nyh2NxerN3P1Mp3ddNm7gci63nfrSuZ&quot;, 1 ] ] }, &quot;extensions&quot;: [] } ] Since: HF11 recover_account Roles: owner Parameters: account_to_recover new_owner_authority recent_owner_authority extensions Example Op: [ &quot;recover_account&quot;, { &quot;account_to_recover&quot;: &quot;alice&quot;, &quot;new_owner_authority&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM7j3nhkhHTpXqLEvdx2yEGhQeeorTcxSV6WDL2DZGxwUxYGrHvh&quot;, 1 ] ] }, &quot;recent_owner_authority&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM78Xth94gNxp8nmByFV2vNAhg9bsSdviJ6fQXUTFikySLK3uTxC&quot;, 1 ] ] }, &quot;extensions&quot;: [] } ] Since: HF11 change_recovery_account Each account lists another account as their recovery account. The recovery account has the ability to create account_recovery_requests for the account to recover. An account can change their recovery account at any time with a 30 day delay. This delay is to prevent an attacker from changing the recovery account to a malicious account during an attack. These 30 days match the 30 days that an owner authority is valid for recovery purposes. On account creation the recovery account is set either to the creator of the account (The account that pays the creation fee and is a signer on the transaction) or to the empty string if the account was mined. An account with no recovery has the top voted witness as a recovery account, at the time the recover request is created. Note: This does mean the effective recovery account of an account with no listed recovery account can change at any time as witness vote weights. The top voted witness is explicitly the most trusted witness according to stake. See: #169 Roles: owner Parameters: account_to_recover new_recovery_account extensions Example Op: [ &quot;change_recovery_account&quot;, { &quot;account_to_recover&quot;: &quot;alice&quot;, &quot;new_recovery_account&quot;: &quot;bob&quot;, &quot;extensions&quot;: [] } ] Since: HF14 escrow_transfer The purpose of this operation is to enable someone to send money contingently to another individual. The funds leave the from account and go into a temporary balance where they are held until from releases it to to or to refunds it to from. In the event of a dispute the agent can divide the funds between the to/from account. Disputes can be raised any time before or on the dispute deadline time, after the escrow has been approved by all parties. This operation only creates a proposed escrow transfer. Both the agent and to must agree to the terms of the arrangement by approving the escrow. The escrow agent is paid the fee on approval of all parties. It is up to the escrow agent to determine the fee. Escrow transactions are uniquely identified by from and escrow_id, the escrow_id is defined by the sender. See: steem_operations.hpp:229 Roles: active owner Parameters: from to agent escrow_id sbd_amount steem_amount fee ratification_deadline escrow_expiration json_meta Example Op: [ &quot;escrow_transfer&quot;, { &quot;from&quot;: &quot;alice&quot;, &quot;to&quot;: &quot;bob&quot;, &quot;sbd_amount&quot;: { &quot;amount&quot;: &quot;1000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;steem_amount&quot;: { &quot;amount&quot;: &quot;0&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;escrow_id&quot;: 23456789, &quot;agent&quot;: &quot;charlie&quot;, &quot;fee&quot;: { &quot;amount&quot;: &quot;100&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;json_meta&quot;: &quot;{}&quot;, &quot;ratification_deadline&quot;: &quot;2017-02-26T11:22:39&quot;, &quot;escrow_expiration&quot;: &quot;2017-02-28T11:22:39&quot; } ] Since: HF14 escrow_dispute If either the sender or receiver of an escrow payment has an issue, they can raise it for dispute. Once a payment is in dispute, the agent has authority over who gets what. See: steem_operations.hpp:229 Roles: active owner Parameters: from to agent who escrow_id Example Op: [ &quot;escrow_dispute&quot;, { &quot;from&quot;: &quot;alice&quot;, &quot;to&quot;: &quot;bob&quot;, &quot;agent&quot;: &quot;charlie&quot;, &quot;who&quot;: &quot;alice&quot;, &quot;escrow_id&quot;: 72526562 } ] Since: HF14 escrow_release This operation can be used by anyone associated with the escrow transfer to release funds if they have permission. The permission scheme is as follows: If there is no dispute and escrow has not expired, either party can release funds to the other. If escrow expires and there is no dispute, either party can release funds to either party. If there is a dispute regardless of expiration, the agent can release funds to either party following whichever agreement was in place between the parties. See: steem_operations.hpp:229 Roles: active owner Parameters: from to agent who receiver escrow_id sbd_amount steem_amount Example Op: [ &quot;escrow_release&quot;, { &quot;from&quot;: &quot;alice&quot;, &quot;to&quot;: &quot;bob&quot;, &quot;agent&quot;: &quot;charlie&quot;, &quot;who&quot;: &quot;charlie&quot;, &quot;receiver&quot;: &quot;bob&quot;, &quot;escrow_id&quot;: 72526562, &quot;sbd_amount&quot;: { &quot;amount&quot;: &quot;5000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;steem_amount&quot;: { &quot;amount&quot;: &quot;0&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; } } ] Disabled pow2 Disabled in HF17. Roles: active owner Parameters: input pow_summary Example Op: [ &quot;pow2&quot;, { &quot;work&quot;: [ 0, { &quot;input&quot;: { &quot;worker_account&quot;: &quot;alice&quot;, &quot;prev_block&quot;: &quot;003ea604345523c344fbadab605073ea712dd76f&quot;, &quot;nonce&quot;: &quot;1052853013628665497&quot; }, &quot;pow_summary&quot;: 3817904373 } ], &quot;props&quot;: { &quot;account_creation_fee&quot;: { &quot;amount&quot;: &quot;1&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;maximum_block_size&quot;: 131072, &quot;sbd_interest_rate&quot;: 1000 } } ] Since: HF14 escrow_approve The agent and to accounts must approve an escrow transaction for it to be valid on the blockchain. Once a party approves the escrow, they cannot revoke their approval. Subsequent escrow approve operations, regardless of the approval, will be rejected. See: steem_operations.hpp:229 Roles: active owner Parameters: from to agent who escrow_id approve Example Op: [ &quot;escrow_approve&quot;, { &quot;from&quot;: &quot;alice&quot;, &quot;to&quot;: &quot;bob&quot;, &quot;agent&quot;: &quot;charlie&quot;, &quot;who&quot;: &quot;charlie&quot;, &quot;escrow_id&quot;: 59102208, &quot;approve&quot;: true } ] Since: HF14 transfer_to_savings For time locked savings accounts. A user can place Steem and Steem Dollars into time locked savings balances. Funds can be withdrawn from these balances after a three day delay. The point of this addition is to mitigate loss from hacked and compromised account. The max a user can lose instantaneously is the sum of what the hold in liquid balances. Assuming an account can be recovered quickly, loss in such situations can be kept to a minimum. See: steem_operations.hpp:868 Roles: active owner Parameters: from to amount memo Example Op: [ &quot;transfer_to_savings&quot;, { &quot;from&quot;: &quot;alice&quot;, &quot;to&quot;: &quot;alice&quot;, &quot;amount&quot;: { &quot;amount&quot;: &quot;1000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;memo&quot;: &quot;&quot; } ] Since: HF14 transfer_from_savings Roles: active owner Parameters: from request_id to amount memo Example Op: [ &quot;transfer_from_savings&quot;, { &quot;from&quot;: &quot;alice&quot;, &quot;request_id&quot;: 101, &quot;to&quot;: &quot;alice&quot;, &quot;amount&quot;: { &quot;amount&quot;: &quot;1000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;memo&quot;: &quot;&quot; } ] Since: HF14 cancel_transfer_from_savings Roles: active owner Parameters: from request_id Example Op: [ &quot;cancel_transfer_from_savings&quot;, {&quot;from&quot;: &quot;alice&quot;, &quot;request_id&quot;: 1} ] Since: HF14 custom_binary The semmantics for this operation are the same as the custom_json operation, but with a binary payload. The json deserialization has a non-trivial cost associated with it. This operation will allow for binary deserialization of plugin operations and should improve overall performance of plugins that chose to use it. See: steem_operations.hpp:491 Roles: posting active owner Parameters: id data Since: HF14 decline_voting_rights An account can chose to decline their voting rights after a 30 day delay. This includes voting on content and witnesses. The voting rights cannot be acquired again once they have been declined. This is only to formalize a smart contract between certain accounts and the community that currently only exists as a social contract. See: steem_operations.hpp:897 Roles: owner Parameters: account decline Example Op: [ &quot;decline_voting_rights&quot;, {&quot;account&quot;: &quot;judy&quot;, &quot;decline&quot;: true} ] Since: HF11 Disabled reset_account This operation allows recovery_account to change account_to_reset’s owner authority to new_owner_authority after 60 days of inactivity. See: #169 Roles: active owner Parameters: reset_account account_to_reset new_owner_authority Since: HF11 Disabled set_reset_account This operation allows account owner to control which account has the power to execute the reset_account operation after 60 days. See: #169 Roles: owner posting Parameters: account current_reset_account reset_account claim_reward_balance Roles: posting active owner Parameters: account reward_steem reward_sbd reward_vests Example Op: [ &quot;claim_reward_balance&quot;, { &quot;account&quot;: &quot;alice&quot;, &quot;reward_steem&quot;: { &quot;amount&quot;: &quot;17&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;reward_sbd&quot;: { &quot;amount&quot;: &quot;11&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000013&quot; }, &quot;reward_vests&quot;: { &quot;amount&quot;: &quot;185025103&quot;, &quot;precision&quot;: 6, &quot;nai&quot;: &quot;@@000000037&quot; } } ] Since: HF17 delegate_vesting_shares Delegate vesting shares from one account to the other. The vesting shares are still owned by the original account, but content voting rights and bandwidth allocation are transferred to the receiving account. This sets the delegation to vesting_shares, increasing it or decreasing it as needed (i.e. a delegation of 0 removes the delegation). When a delegation is removed the shares are placed in limbo for a week to prevent a satoshi of VESTS from voting on the same content twice. Also see: steem_evaluator.cpp:2309 Roles: active owner Parameters: delegator delegatee vesting_shares Example Op: [ &quot;delegate_vesting_shares&quot;, { &quot;delegator&quot;: &quot;alice&quot;, &quot;delegatee&quot;: &quot;bob&quot;, &quot;vesting_shares&quot;: { &quot;amount&quot;: &quot;94599167138276&quot;, &quot;precision&quot;: 6, &quot;nai&quot;: &quot;@@000000037&quot; } } ] Since: HF17 account_create_with_delegation Instead of paying the entire account creation fee with Steem, creators can now pay a smaller fee (30x less) and delegate some Steem Power for 30 days. The exact amount is 5 * min_fee + STEEM_POWER == 150 * min_fee. You can pay any combination of STEEM and Steem Power along that curve (so long as the minimum fee is paid). The witness voted STEEM fee is now the minimum required STEEM fee for delegation. Witnesses should reduce their fee by 30x when the hardfork goes live to preserve the same required fee for an all STEEM account creation. Also see: config.hpp:145 steem_evaluator.cpp:400 Roles: active owner Parameters: fee delegation creator new_account_name owner active posting memo_key json_metadata extensions Example Op: [ &quot;account_create_with_delegation&quot;, { &quot;fee&quot;: { &quot;amount&quot;: &quot;3000&quot;, &quot;precision&quot;: 3, &quot;nai&quot;: &quot;@@000000021&quot; }, &quot;delegation&quot;: { &quot;amount&quot;: &quot;0&quot;, &quot;precision&quot;: 6, &quot;nai&quot;: &quot;@@000000037&quot; }, &quot;creator&quot;: &quot;steemit&quot;, &quot;new_account_name&quot;: &quot;alice&quot;, &quot;owner&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM5Tki3ecCdCCHCjhhwvQvXuKryL2s34Ma6CXsRzntSUTYVYxCQ9&quot;, 1 ] ] }, &quot;active&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM6LUoAA8gCL9tHRz7v9xcwR4ZWD3KDRHP5t1U7UAZHdfanLxyBE&quot;, 1 ] ] }, &quot;posting&quot;: { &quot;weight_threshold&quot;: 1, &quot;account_auths&quot;: [], &quot;key_auths&quot;: [ [ &quot;STM8anmpHdfVE4AmwsDpcSXpRsydHysEbv6vGJkRQy1d1CC83zeTA&quot;, 1 ] ] }, &quot;memo_key&quot;: &quot;STM67RYDyEkP1Ja1jFehJ45BFGA9oHHUnRnYbxKJEtMhVQiHW3S3k&quot;, &quot;json_metadata&quot;: &quot;{}&quot;, &quot;extensions&quot;: [] } ] Virtual Operation fill_convert_request Fills when conversion requests with a conversion date before the head block time and then converts them to/from steem/sbd at the current median price feed history price times the premium. Roles: active owner Parameters: owner requestid amount_in amount_out Virtual Operation author_reward Roles: posting active owner Parameters: author permlink sbd_payout steem_payout vesting_payout Virtual Operation curation_reward Roles: posting active owner Parameters: curator reward comment_author comment_permlink Since: HF17 Virtual Operation comment_reward See: #774 Roles: posting active owner Parameters: author permlink payout Virtual Operation Disabled liquidity_reward Deprecated as of HF12, see: #178. Roles: active owner Parameters: owner payout Virtual Operation interest Roles: active owner Parameters: owner interest Example Op: [ &quot;interest&quot;, {&quot;owner&quot;: &quot;alice&quot;, &quot;interest&quot;: &quot;0.001 SBD&quot;} ] Since: HF6 Virtual Operation fill_vesting_withdraw See: #78 Roles: active owner Parameters: from_account to_account withdrawn deposited Example Op: [ &quot;fill_vesting_withdraw&quot;, { &quot;from_account&quot;: &quot;alice&quot;, &quot;to_account&quot;: &quot;alice&quot;, &quot;withdrawn&quot;: &quot;0.026475 VESTS&quot;, &quot;deposited&quot;: &quot;0.710 STEEM&quot; } ] Virtual Operation fill_order Roles: posting active owner Parameters: current_owner current_orderid current_pays open_owner open_orderid open_pays Example Op: [ &quot;fill_order&quot;, { &quot;current_owner&quot;: &quot;alice&quot;, &quot;current_orderid&quot;: 42896, &quot;current_pays&quot;: &quot;94.999 SBD&quot;, &quot;open_owner&quot;: &quot;bob&quot;, &quot;open_orderid&quot;: 10001, &quot;open_pays&quot;: &quot;500.000 STEEM&quot; } ] Since: HF14 Virtual Operation shutdown_witness When a witness goes offline. See: #278 Roles: posting active owner Parameters: owner Example Op: [&quot;shutdown_witness&quot;, {&quot;owner&quot;: &quot;alice&quot;}] Since: HF14 Virtual Operation fill_transfer_from_savings Roles: posting active owner Parameters: from to amount request_id memo Since: HF9 Virtual Operation hardfork Roles: posting active owner Parameters: hardfork_id Virtual Operation comment_payout_update Roles: posting active owner Parameters: author permlink Since: HF17 Virtual Operation return_vesting_delegation Roles: posting active owner Parameters: account vesting_shares Since: HF17 Virtual Operation comment_benefactor_reward Roles: posting active owner Parameters: benefactor author permlink reward Since: HF17 Virtual Operation producer_reward Witness rewards for block signing are hard to account for. Making these rewards visible will help witnesses and prospective witnesses by providing them with more complete and accurate information to guide their decisions to invest in the platform. Roles: posting active owner Parameters: producer vesting_shares Example Op: [ &quot;producer_reward&quot;, { &quot;producer&quot;: &quot;alice&quot;, &quot;vesting_shares&quot;: &quot;14403.626449 VESTS&quot; } ]",
"url": "https://developer.steem.io/apidefinitions/broadcast-ops"}</script>
<!-- End Jekyll SEO tag -->


	
</head>
<body>
<header>
	<h1>
		<button type="button" class="open-nav" id="open-nav"></button>
		<a href="/"  class="logo-link"><img src="/images/logotype_white.svg" height="40" alt="Steem Developer logo"></a>
	</h1>

	
	<form action="/search/" method="get">
		<input type="text" name="q" id="search-input" placeholder="Search">
		<input type="submit" value="Search" style="display: none;">
	</form>
	

	<div id="sidebar" class="sidebar">
	
	
	
		
    <section class="pnl-main-nav-section main-nav-section" url="/">
		<h6 class="ctrl-nav-section title">Introduction</h6>
		<ul class="cont-nav-section content">
			
				
					
					
						
						<li><a href="/#introduction-welcome">Welcome to Steem</a></li>
						
					
				
			
		</ul>
	</section>
	
		
    <section class="pnl-main-nav-section main-nav-section" url="/quickstart/">
		<h6 class="ctrl-nav-section title">Quickstart</h6>
		<ul class="cont-nav-section content">
			
				
					
					
						
						<li><a href="/quickstart/#quickstart-choose-library">Choose Library</a></li>
						
					
						
						<li><a href="/quickstart/#quickstart-steemd-nodes">steemd Nodes</a></li>
						
					
						
						<li><a href="/quickstart/#quickstart-testnet">Steem Testnet</a></li>
						
					
				
			
		</ul>
	</section>
	
		
    <section class="pnl-main-nav-section main-nav-section" url="/tutorials/">
		<h6 class="ctrl-nav-section title">Tutorials</h6>
		<ul class="cont-nav-section content">
			
				
					
						<li><a href="/tutorials/#tutorials-javascript">Javascript</a></li>
					
				
					
						<li><a href="/tutorials/#tutorials-python">Python</a></li>
					
				
					
						<li><a href="/tutorials/#tutorials-ruby">Ruby</a></li>
					
				
					
						<li><a href="/tutorials/#tutorials-recipes">Recipes</a></li>
					
				
			
		</ul>
	</section>
	
		
    <section class="pnl-main-nav-section main-nav-section" url="/services/">
		<h6 class="ctrl-nav-section title">Services</h6>
		<ul class="cont-nav-section content">
			
				
					
					
						
						<li><a href="/services/#services-steemit">Steemit.com</a></li>
						
					
						
						<li><a href="/services/#services-steemconnect">SteemConnect</a></li>
						
					
						
						<li><a href="/services/#services-jussi">jussi</a></li>
						
					
						
						<li><a href="/services/#services-imagehoster">ImageHoster</a></li>
						
					
						
						<li><a href="/services/#services-sbds">SBDS</a></li>
						
					
				
			
		</ul>
	</section>
	
		
    <section class="pnl-main-nav-section main-nav-section" url="/apidefinitions/">
		<h6 class="ctrl-nav-section title">Appbase API</h6>
		<ul class="cont-nav-section content">
			
				
					
					
						
						<li><a href="/apidefinitions/#apidefinitions-condenser-api">Condenser Api</a></li>
						
					
						
						<li><a href="/apidefinitions/#apidefinitions-account-by-key-api">Account By Key Api</a></li>
						
					
						
						<li><a href="/apidefinitions/#apidefinitions-broadcast-ops-comment">Broadcast Ops Comment</a></li>
						
					
						
						<li><a href="/apidefinitions/#apidefinitions-account-history-api">Account History Api</a></li>
						
					
						
						<li><a href="/apidefinitions/#apidefinitions-database-api">Database Api</a></li>
						
					
						
						<li><a href="/apidefinitions/#apidefinitions-follow-api">Follow Api</a></li>
						
					
						
						<li><a href="/apidefinitions/#apidefinitions-jsonrpc">Jsonrpc</a></li>
						
					
						
						<li><a href="/apidefinitions/#apidefinitions-market-history-api">Market History Api</a></li>
						
					
						
						<li><a href="/apidefinitions/#apidefinitions-network-broadcast-api">Network Broadcast Api</a></li>
						
					
						
						<li><a href="/apidefinitions/#apidefinitions-tags-api">Tags Api</a></li>
						
					
						
						<li><a href="/apidefinitions/#apidefinitions-witness-api">Witness Api</a></li>
						
					
						
						<li><a href="/apidefinitions/#apidefinitions-block-api">Block Api</a></li>
						
					
						
						<li><a href="/apidefinitions/#apidefinitions-broadcast-ops">Broadcast Ops</a></li>
						
					
				
			
		</ul>
	</section>
	
		
    <section class="pnl-main-nav-section main-nav-section" url="/community/">
		<h6 class="ctrl-nav-section title">Community</h6>
		<ul class="cont-nav-section content">
			
				
					
					
						
						<li><a href="/community/#community-overview">Overview</a></li>
						
					
						
						<li><a href="/community/#community-resources">Resources</a></li>
						
					
						
						<li><a href="/community/#community-developeradvocate">Sharing & Help</a></li>
						
					
				
			
		</ul>
	</section>
	
		
    <section class="pnl-main-nav-section main-nav-section" url="/glossary/">
		<h6 class="ctrl-nav-section title">Glossary</h6>
		<ul class="cont-nav-section content">
			
				
					
					
						
						<li><a href="/glossary/#glossary-chain-basics">Chain Basics</a></li>
						
					
						
					
						
						<li><a href="/glossary/#glossary-governance">Governance</a></li>
						
					
						
						<li><a href="/glossary/#glossary-transactions">Transactions</a></li>
						
					
						
						<li><a href="/glossary/#glossary-api">API</a></li>
						
					
						
						<li><a href="/glossary/#glossary-market">Market</a></li>
						
					
				
			
		</ul>
	</section>
	
</div>


	<!--<p class="copyright">-->
	<!--<a href="https://steemit.com.com/">-->
	<!--steemit-->
	<!--</a>-->
	<!--</p>-->
	<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">
</header>
<div class="main" id="top">
	<div class="hero">
		<h1 class="hero__h1">Steem Developer Portal </h1>
		
		<img class="hero__img" src="/images/hero.png">
		
	</div>
	
<p>An operation on Steem is a way of expressing intention on the blockchain.
They are also known as Broadcast Operations.  They have types, like <code class="highlighter-rouge">vote</code>
or <code class="highlighter-rouge">comment</code>.  They pass parameters like <code class="highlighter-rouge">author</code> and <code class="highlighter-rouge">permlink</code>, depending
on what their purpose is.</p>

<p>Operations are grouped into transactions and passed as parameters to
methods like <code class="highlighter-rouge">network_broadcast_api.broadcast_transaction_synchronous</code>, in
the <code class="highlighter-rouge">operations</code> array.  Transactions must be signed in order for the
blockchain to accept them.  Here is an example of a transaction that
contains one operation (shown without signatures).</p>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">{</span><span class="w">
   </span><span class="nt">"jsonrpc"</span><span class="p">:</span><span class="s2">"2.0"</span><span class="p">,</span><span class="w">
   </span><span class="nt">"method"</span><span class="p">:</span><span class="s2">"network_broadcast_api.broadcast_transaction_synchronous"</span><span class="p">,</span><span class="w">
   </span><span class="nt">"params"</span><span class="p">:{</span><span class="w">
      </span><span class="nt">"trx"</span><span class="p">:{</span><span class="w">
         </span><span class="nt">"ref_block_num"</span><span class="p">:</span><span class="mi">1097</span><span class="p">,</span><span class="w">
         </span><span class="nt">"ref_block_prefix"</span><span class="p">:</span><span class="mi">2181793527</span><span class="p">,</span><span class="w">
         </span><span class="nt">"expiration"</span><span class="p">:</span><span class="s2">"2016-03-24T18:00:21"</span><span class="p">,</span><span class="w">
         </span><span class="nt">"operations"</span><span class="p">:[</span><span class="w">
            </span><span class="p">[</span><span class="w">
               </span><span class="s2">"vote"</span><span class="p">,</span><span class="w">
               </span><span class="p">{</span><span class="w">
                  </span><span class="nt">"voter"</span><span class="p">:</span><span class="s2">"steemit"</span><span class="p">,</span><span class="w">
                  </span><span class="nt">"author"</span><span class="p">:</span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
                  </span><span class="nt">"permlink"</span><span class="p">:</span><span class="s2">"a-post-by-alice"</span><span class="p">,</span><span class="w">
                  </span><span class="nt">"weight"</span><span class="p">:</span><span class="mi">10000</span><span class="w">
               </span><span class="p">}</span><span class="w">
            </span><span class="p">]</span><span class="w">
         </span><span class="p">],</span><span class="w">
         </span><span class="nt">"extensions"</span><span class="p">:[],</span><span class="w">
         </span><span class="nt">"signatures"</span><span class="p">:[]</span><span class="w">
      </span><span class="p">}</span><span class="w">
   </span><span class="p">},</span><span class="w">
   </span><span class="nt">"id"</span><span class="p">:</span><span class="mi">1</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
</div>

<p>Also see: <a href="/apidefinitions/network-broadcast-api">Network Broadcast API</a></p>

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_vote">
<code>vote</code>
<a href="#broadcast_ops_vote">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>This operation is used to cast a vote on a post/comment.  The primary
purpose of voting is to express Proof-of-Brain about content to the
blockchain.  When a vote is cast, the content is considered in the
consensus rules involving author and curation rewards.</p>

<p>An upvote can be cast from the point in time that the content is created
up to 6.5 days.  The remaining 12 hours are locked out of upvotes at
which time only downvotes may be cast.</p>

<p>A secondary aspect to voting involves reputation, which is not part of
consensus.</p>

<p><em>Reputation Rules:</em></p>
<ol>
  <li>Must have non-negative reputation to effect another user’s reputation.</li>
  <li>If you are down voting another user, you must have more reputation than them to impact their reputation.</li>
</ol>

<p><strong>Notes:</strong></p>
<ul>
  <li><code class="highlighter-rouge">voter</code>: must be a valid account name</li>
  <li><code class="highlighter-rouge">author</code>: must be a valid account name</li>
  <li><code class="highlighter-rouge">permlink</code>: must be content created by <code class="highlighter-rouge">author</code></li>
  <li><code class="highlighter-rouge">weight</code>: absolute value must not be more than 10000 (100.00 %).</li>
</ul>

<h5 id="vote-roles">Roles: <code>posting active owner</code></h5>
<h5 id="vote-parameter">Parameters: <code>voter author permlink weight</code></h5>

<h5 id="vote-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"vote"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"voter"</span><span class="p">:</span><span class="w"> </span><span class="s2">"steemit"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"permlink"</span><span class="p">:</span><span class="w"> </span><span class="s2">"a-post-by-alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"weight"</span><span class="p">:</span><span class="w"> </span><span class="mi">10000</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_comment">
<code>comment</code>
<a href="#broadcast_ops_comment">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>Creates a post/comment.</p>

<p><strong>Notes:</strong></p>
<ul>
  <li><code class="highlighter-rouge">title</code>: must not be larger than 256 bytes</li>
  <li><code class="highlighter-rouge">title</code>: must be UTF-8</li>
  <li><code class="highlighter-rouge">body</code>: must be larger than 0 bytes</li>
  <li><code class="highlighter-rouge">body</code>: must be UTF-8</li>
</ul>

<h5 id="comment-roles">Roles: <code>posting active owner</code></h5>
<h5 id="comment-parameter">Parameters: <code>parent_author parent_permlink author permlink title body json_metadata</code></h5>

<h5 id="comment-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"comment"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"parent_author"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
    </span><span class="nt">"parent_permlink"</span><span class="p">:</span><span class="w"> </span><span class="s2">"steem"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"permlink"</span><span class="p">:</span><span class="w"> </span><span class="s2">"a-post-by-alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"A Post By Alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"body"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This is my post."</span><span class="p">,</span><span class="w">
    </span><span class="nt">"json_metadata"</span><span class="p">:</span><span class="w"> </span><span class="s2">"{\"tags\":[\"steemit\",\"example\",\"tags\"]}"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_transfer">
<code>transfer</code>
<a href="#broadcast_ops_transfer">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>Transfers asset from one account to another.  The memo is plain-text,
any encryption on the memo is up to a higher level protocol.</p>

<p><strong>Notes:</strong></p>
<ul>
  <li>Transferring of Steem Power (VESTS) is not allowed.</li>
  <li>Cannot transfer a negative amount (aka: stealing).</li>
  <li>Memo must be less than 2048 bytes.</li>
  <li>Memo must be UTF-8.</li>
</ul>

<h5 id="transfer-roles">Roles: <code>active owner</code></h5>
<h5 id="transfer-parameter">Parameters: <code>from to amount memo</code></h5>

<h5 id="transfer-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"transfer"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"from"</span><span class="p">:</span><span class="w"> </span><span class="s2">"steemit"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"to"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000021"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"memo"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thanks for all the fish."</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_transfer_to_vesting">
<code>transfer_to_vesting</code>
<a href="#broadcast_ops_transfer_to_vesting">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>This operation converts STEEM into VFS (Vesting Fund Shares) at the
current exchange rate. With this operation it is possible to give
another account vesting shares so that faucets can pre-fund new accounts
with vesting shares.</p>

<p><strong>Notes:</strong></p>
<ul>
  <li>Amount must be in STEEM.</li>
  <li>Must transfer a nonzero amount.</li>
</ul>

<h5 id="transfer_to_vesting-roles">Roles: <code>active owner</code></h5>
<h5 id="transfer_to_vesting-parameter">Parameters: <code>from to amount</code></h5>

<h5 id="transfer_to_vesting-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"transfer_to_vesting"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"from"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"to"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
    </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"357000"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000021"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_withdraw_vesting">
<code>withdraw_vesting</code>
<a href="#broadcast_ops_withdraw_vesting">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>At any given point in time an account can be withdrawing from their
vesting shares. A user may change the number of shares they wish to
cash out at any time between 0 and their total vesting stake.</p>

<p>After applying this operation, vesting_shares will be withdrawn
at a rate of vesting_shares/13 per week for 13 weeks starting
one week after this operation is included in the blockchain.</p>

<p>This operation is not valid if the user has no vesting shares.</p>

<p><strong>Notes:</strong></p>
<ul>
  <li>Amount must be VESTS.</li>
</ul>

<h5 id="withdraw_vesting-roles">Roles: <code>active owner</code></h5>
<h5 id="withdraw_vesting-parameter">Parameters: <code>account vesting_shares</code></h5>

<h5 id="withdraw_vesting-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"withdraw_vesting"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"steemit"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"vesting_shares"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"200000000000"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000037"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_limit_order_create">
<code>limit_order_create</code>
<a href="#broadcast_ops_limit_order_create">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>This operation creates a limit order and matches it against existing
open orders.</p>

<h5 id="limit_order_create-roles">Roles: <code>active owner</code></h5>
<h5 id="limit_order_create-parameter">Parameters: <code>owner orderid amount_to_sell min_to_receive fill_or_kill expiration</code></h5>

<h5 id="limit_order_create-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"limit_order_create"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"owner"</span><span class="p">:</span><span class="w"> </span><span class="s2">"steemit"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"orderid"</span><span class="p">:</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w">
    </span><span class="nt">"amount_to_sell"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"9950"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000021"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"min_to_receive"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3500"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000013"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"fill_or_kill"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nt">"expiration"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2035-10-29T06:32:22"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_limit_order_cancel">
<code>limit_order_cancel</code>
<a href="#broadcast_ops_limit_order_cancel">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>Cancels an order and returns the balance to owner.</p>

<h5 id="limit_order_cancel-roles">Roles: <code>active owner</code></h5>
<h5 id="limit_order_cancel-parameter">Parameters: <code>owner orderid</code></h5>

<h5 id="limit_order_cancel-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"limit_order_cancel"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="nt">"owner"</span><span class="p">:</span><span class="w"> </span><span class="s2">"steemit"</span><span class="p">,</span><span class="w"> </span><span class="nt">"orderid"</span><span class="p">:</span><span class="w"> </span><span class="mi">10</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_price">
<code>price</code>
<a href="#broadcast_ops_price">
<i class="fas fa-link fa-xs"></i></a>
</h4>

<h5 id="price-roles">Roles: <code>active owner</code></h5>
<h5 id="price-parameter">Parameters: <code>base quote</code></h5>

<hr />

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_feed_publish">
<code>feed_publish</code>
<a href="#broadcast_ops_feed_publish">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>Feeds can only be published by the top N witnesses which are included in
every round and are used to define the exchange rate between steem and
the dollar.</p>

<h5 id="feed_publish-roles">Roles: <code>active owner</code></h5>
<h5 id="feed_publish-parameter">Parameters: <code>publisher exchange_rate</code></h5>

<h5 id="feed_publish-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"feed_publish"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"publisher"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"exchange_rate"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"base"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
        </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1000"</span><span class="p">,</span><span class="w">
        </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
        </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000013"</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="nt">"quote"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
        </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1000000"</span><span class="p">,</span><span class="w">
        </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
        </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000021"</span><span class="w">
      </span><span class="p">}</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_convert">
<code>convert</code>
<a href="#broadcast_ops_convert">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>This operation instructs the blockchain to start a conversion between
STEEM and SBD, the funds are deposited after 3.5 days.</p>

<h5 id="convert-roles">Roles: <code>active owner</code></h5>
<h5 id="convert-parameter">Parameters: <code>owner requestid amount</code></h5>

<h5 id="convert-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"convert"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"owner"</span><span class="p">:</span><span class="w"> </span><span class="s2">"steemit"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"requestid"</span><span class="p">:</span><span class="w"> </span><span class="mi">1467592156</span><span class="p">,</span><span class="w">
    </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"5000"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000013"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_account_create">
<code>account_create</code>
<a href="#broadcast_ops_account_create">
<i class="fas fa-link fa-xs"></i></a>
</h4>

<h5 id="account_create-roles">Roles: <code>active owner</code></h5>
<h5 id="account_create-parameter">Parameters: <code>fee creator new_account_name owner active posting memo_key json_metadata</code></h5>

<h5 id="account_create-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"account_create"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"fee"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000021"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"creator"</span><span class="p">:</span><span class="w"> </span><span class="s2">"steemit"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"new_account_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"owner"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"weight_threshold"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
      </span><span class="nt">"account_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
      </span><span class="nt">"key_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
        </span><span class="p">[</span><span class="w">
          </span><span class="s2">"STM5b4i9gBqvh4sbgrooXPu2dbGLewNPZkXeuNeBjyiswnu2szgXx"</span><span class="p">,</span><span class="w">
          </span><span class="mi">1</span><span class="w">
        </span><span class="p">]</span><span class="w">
      </span><span class="p">]</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"active"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"weight_threshold"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
      </span><span class="nt">"account_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
      </span><span class="nt">"key_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
        </span><span class="p">[</span><span class="w">
          </span><span class="s2">"STM7ko5nzqaYfjbD4tKWGmiy3xtT9eQFZ3Pcmq5JmygTRptWSiVQy"</span><span class="p">,</span><span class="w">
          </span><span class="mi">1</span><span class="w">
        </span><span class="p">]</span><span class="w">
      </span><span class="p">]</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"posting"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"weight_threshold"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
      </span><span class="nt">"account_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
      </span><span class="nt">"key_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
        </span><span class="p">[</span><span class="w">
          </span><span class="s2">"STM5xAKxnMT2y9VoVJdF63K8xRQAohsiQy9bA33aHeyMB5vgkzaay"</span><span class="p">,</span><span class="w">
          </span><span class="mi">1</span><span class="w">
        </span><span class="p">]</span><span class="w">
      </span><span class="p">]</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"memo_key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"STM8ZSyzjPm48GmUuMSRufkVYkwYbZzbxeMysAVp7KFQwbTf98TcG"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"json_metadata"</span><span class="p">:</span><span class="w"> </span><span class="s2">"{}"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_account_update">
<code>account_update</code>
<a href="#broadcast_ops_account_update">
<i class="fas fa-link fa-xs"></i></a>
</h4>

<h5 id="account_update-roles">Roles: <code>active owner</code></h5>
<h5 id="account_update-parameter">Parameters: <code>account owner active posting memo_key json_metadata</code></h5>

<h5 id="account_update-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"account_update"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"steemit"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"posting"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"weight_threshold"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
      </span><span class="nt">"account_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
      </span><span class="nt">"key_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
        </span><span class="p">[</span><span class="w">
          </span><span class="s2">"STM6FATHLohxTN8RWWkU9ZZwVywXo6MEDjHHui1jEBYkG2tTdvMYo"</span><span class="p">,</span><span class="w">
          </span><span class="mi">1</span><span class="w">
        </span><span class="p">],</span><span class="w">
        </span><span class="p">[</span><span class="w">
          </span><span class="s2">"STM76EQNV2RTA6yF9TnBvGSV71mW7eW36MM7XQp24JxdoArTfKA76"</span><span class="p">,</span><span class="w">
          </span><span class="mi">1</span><span class="w">
        </span><span class="p">]</span><span class="w">
      </span><span class="p">]</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"memo_key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"STM6FATHLohxTN8RWWkU9ZZwVywXo6MEDjHHui1jEBYkG2tTdvMYo"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"json_metadata"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">




<li class="warning"><strong><small>Disabled</small></strong></li>

</ul>
<h4 id="broadcast_ops_report_over_production">
<code>report_over_production</code>
<a href="#broadcast_ops_report_over_production">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>Disabled in HF4</p>

<p>This operation is used to report a miner who signs two blocks
at the same time. To be valid, the violation must be reported within
STEEM_MAX_WITNESSES blocks of the head block (1 round) and the
producer must be in the ACTIVE witness set.</p>

<p>Users not in the ACTIVE witness set should not have to worry about their
key getting compromised and being used to produced multiple blocks so
the attacker can report it and steel their vesting steem.</p>

<p>The result of the operation is to transfer the full VESTING STEEM balance
of the block producer to the reporter.</p>

<h5 id="report_over_production-roles">Roles: <code>active owner</code></h5>
<h5 id="report_over_production-parameter">Parameters: <code>reporter first_block second_block</code></h5>

<hr />

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_witness_update">
<code>witness_update</code>
<a href="#broadcast_ops_witness_update">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>Users who wish to become a witness must pay a fee acceptable to
the current witnesses to apply for the position and allow voting
to begin.</p>

<p>If the owner isn’t a witness they will become a witness.  Witnesses
are charged a fee equal to 1 weeks worth of witness pay which in
turn is derived from the current share supply.  The fee is
only applied if the owner is not already a witness.</p>

<p>If the block_signing_key is null then the witness is removed from
contention.  The network will pick the top 21 witnesses for
producing blocks.</p>

<p><strong>Notes:</strong></p>
<ul>
  <li>The fee paid to register a new witness, should be 10x current
block production pay.</li>
  <li><code class="highlighter-rouge">url</code> cannot be more than 2048 bytes.</li>
  <li><code class="highlighter-rouge">url</code> must be UTF-8.</li>
  <li><code class="highlighter-rouge">fee</code> cannot be negative.</li>
</ul>

<h5 id="witness_update-roles">Roles: <code>active owner</code></h5>
<h5 id="witness_update-parameter">Parameters: <code>owner url block_signing_key props fee</code></h5>

<h5 id="witness_update-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"witness_update"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"owner"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"url"</span><span class="p">:</span><span class="w"> </span><span class="s2">"witness-category/my-witness"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"block_signing_key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"STM8LoQjQqJHvotqBo7HjnqmUbFW9oJ2theyqonzUd9DdJ7YYHsvD"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"props"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"account_creation_fee"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
        </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"100000"</span><span class="p">,</span><span class="w">
        </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
        </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000021"</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="nt">"maximum_block_size"</span><span class="p">:</span><span class="w"> </span><span class="mi">131072</span><span class="p">,</span><span class="w">
      </span><span class="nt">"sbd_interest_rate"</span><span class="p">:</span><span class="w"> </span><span class="mi">1000</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"fee"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000021"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_account_witness_vote">
<code>account_witness_vote</code>
<a href="#broadcast_ops_account_witness_vote">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>All accounts with a VFS (Vesting Fund Shares) can vote for or against
any witness.</p>

<p>If a proxy is specified then all existing votes are removed.</p>

<h5 id="account_witness_vote-roles">Roles: <code>active owner</code></h5>
<h5 id="account_witness_vote-parameter">Parameters: <code>account witness approve</code></h5>

<h5 id="account_witness_vote-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"account_witness_vote"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"witness"</span><span class="p">:</span><span class="w"> </span><span class="s2">"bob"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"approve"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_account_witness_proxy">
<code>account_witness_proxy</code>
<a href="#broadcast_ops_account_witness_proxy">
<i class="fas fa-link fa-xs"></i></a>
</h4>

<h5 id="account_witness_proxy-roles">Roles: <code>active owner</code></h5>
<h5 id="account_witness_proxy-parameter">Parameters: <code>account proxy</code></h5>

<h5 id="account_witness_proxy-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"account_witness_proxy"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="nt">"account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w"> </span><span class="nt">"proxy"</span><span class="p">:</span><span class="w"> </span><span class="s2">"bob"</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">




<li class="warning"><strong><small>Disabled</small></strong></li>

</ul>
<h4 id="broadcast_ops_pow">
<code>pow</code>
<a href="#broadcast_ops_pow">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>Disabled in HF14.</p>

<h5 id="pow-roles">Roles: <code>active owner</code></h5>
<h5 id="pow-parameter">Parameters: <code>worker input signature work</code></h5>

<h5 id="pow-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"pow"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"worker_account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"admin"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"block_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"000004433bd4602cf5f74dbb564183837df9cef8"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="mi">82</span><span class="p">,</span><span class="w">
    </span><span class="nt">"work"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"worker"</span><span class="p">:</span><span class="w"> </span><span class="s2">"STM65wH1LZ7BfSHcK69SShnqCAH5xdoSZpGkUjmzHJ5GCuxEK9V5G"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"input"</span><span class="p">:</span><span class="w"> </span><span class="s2">"59b009f89477919f95914151cef06f28bf344dd6fb7670aca1c1f4323c80446b"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"signature"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1f3f83209097efcd01b7d6f27ce726164323d503d6fcf4d55bfb7cb3032796f6766738b36062b5850d69447fdf9c091cbc70825df5eeacc4710a0b11ffdbf0912a"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"work"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0b62f4837801cd857f01d6a541faeb13d6bb95f1c36c6b4b14a47df632aa6c92"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"props"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"account_creation_fee"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
        </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"100000"</span><span class="p">,</span><span class="w">
        </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
        </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000021"</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="nt">"maximum_block_size"</span><span class="p">:</span><span class="w"> </span><span class="mi">131072</span><span class="p">,</span><span class="w">
      </span><span class="nt">"sbd_interest_rate"</span><span class="p">:</span><span class="w"> </span><span class="mi">1000</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_custom">
<code>custom</code>
<a href="#broadcast_ops_custom">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>Provides a generic way to add higher level protocols on top of witness
consensus.</p>

<p>There is no validation for this operation other than that required auths
are valid.</p>

<h5 id="custom-roles">Roles: <code>active owner</code></h5>
<h5 id="custom-parameter">Parameters: <code>required_auths id data</code></h5>

<h5 id="custom-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"custom"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"required_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"bytemaster"</span><span class="p">],</span><span class="w">
    </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">777</span><span class="p">,</span><span class="w">
    </span><span class="nt">"data"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0a627974656d617374657207737465656d697402a3d13897d82114466ad87a74b73a53292d8331d1bd1d3082da6bfbcff19ed097029db013797711c88cccca3692407f9ff9b9ce7221aaa2d797f1692be2215d0a5f6d2a8cab6832050078bc5729201e3ea24ea9f7873e6dbdc65a6bd9899053b9acda876dc69f11a13df9ca8b26b6"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_delete_comment">
<code>delete_comment</code>
<a href="#broadcast_ops_delete_comment">
<i class="fas fa-link fa-xs"></i></a>
</h4>

<h5 id="delete_comment-roles">Roles: <code>posting active owner</code></h5>
<h5 id="delete_comment-parameter">Parameters: <code>author permlink</code></h5>

<h5 id="delete_comment-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"delete_comment"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"permlink"</span><span class="p">:</span><span class="w"> </span><span class="s2">"a-post-by-alice"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_custom_json">
<code>custom_json</code>
<a href="#broadcast_ops_custom_json">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>Serves the same purpose as <code class="highlighter-rouge">custom</code> but also supports required posting
authorities. Unlike <code class="highlighter-rouge">custom</code>, this operation is designed to be human
readable/developer friendly.</p>

<h5 id="follow"><code class="highlighter-rouge">follow</code></h5>

<p>As of HF9, the follow plugin will track follow/unfollow/ignore events.</p>

<h5 id="reblog"><code class="highlighter-rouge">reblog</code></h5>

<p>As of HF14, allows users to share blogs they find with those who follow
them. This change implemented entirely outside the blockchain consensus
which means that reblogging does not create a new post, it merely shares
an existing post with people who follow you.</p>

<h5 id="witness"><code class="highlighter-rouge">witness</code></h5>

<p>As of HF18, the witness plugin has a custom operation called
<code class="highlighter-rouge">enable_content_editing</code> that allows a user to signal they want to edit
their content. By consensus, content is editable indefinitely, but is
soft forked to be frozen after payout. This operation requires an
<code class="highlighter-rouge">active</code> key and is designed to prevent vandalism if a posting key is
compromised. <a href="https://github.com/steemit/steem/issues/1017">#1017</a></p>

<h5 id="custom_json-roles">Roles: <code>posting active owner</code></h5>
<h5 id="custom_json-parameter">Parameters: <code>required_auths required_posting_auths id json</code></h5>

<h5 id="custom_json-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"custom_json"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"required_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
    </span><span class="nt">"required_posting_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"steemit"</span><span class="p">],</span><span class="w">
    </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"follow"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"json"</span><span class="p">:</span><span class="w"> </span><span class="s2">"[\"follow\",{\"follower\":\"steemit\",\"following\":\"alice\",\"what\":[\"blog\"]}]"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"custom_json"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"required_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
    </span><span class="nt">"required_posting_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"alice"</span><span class="p">],</span><span class="w">
    </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"follow"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"json"</span><span class="p">:</span><span class="w"> </span><span class="s2">"[\"follow\",{\"follower\":\"alice\",\"following\":\"eve\",\"what\":[\"ignore\"]}]"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"custom_json"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"required_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
    </span><span class="nt">"required_posting_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"bob"</span><span class="p">],</span><span class="w">
    </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"reblog"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"json"</span><span class="p">:</span><span class="w"> </span><span class="s2">"{\"account\":\"bob\",\"author\":\"alice\",\"permlink\":\"a-post-by-alice\"}"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"custom_json"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"required_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"alice"</span><span class="p">],</span><span class="w">
    </span><span class="nt">"required_posting_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
    </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"witness"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"json"</span><span class="p">:</span><span class="w"> </span><span class="s2">"[\"enable_content_editing\", {\"account\": \"alice\", \"relock_time\": \"2100-01-01T12:00:00\"}]"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_comment_options">
<code>comment_options</code>
<a href="#broadcast_ops_comment_options">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>Authors of posts may not want all of the benefits that come from creating a post. This
operation allows authors to update properties associated with their post.</p>

<p>Typically, these options will accompany a <code class="highlighter-rouge">comment</code> operation in the same transaction.</p>

<p>As of HF17, content can specify beneficiaries to receive a part of
their author rewards. The beneficiaries are specified in the extension
field of the <code class="highlighter-rouge">comment_options_operation</code> and is a sorted vector (by
account name) of account name, weight pairs. The beneficiaries can only
be specified once and must be specified before any votes are cast on the
comment. Most apps are already adding a <code class="highlighter-rouge">comment_options</code> in the
transaction that creates the comment, so this should not be much of a
challenge to add to existing apps.</p>

<p><strong>Notes:</strong></p>

<ul>
  <li>The max_accepted_payout may be decreased, but never increased.</li>
  <li>The percent_steem_dollars may be decreased, but never increased.</li>
  <li>Part of <code class="highlighter-rouge">comment_option</code> validation process, to be called when
<code class="highlighter-rouge">allowed_vote_assets</code> object has been added as comment option extension are:
    <ul>
      <li>When votable assets are greater than maximum votable assets: <em>“Too much votable assets specified”</em></li>
      <li>When the symbol is not allowed in the list for votable assets: <em>“STEEM can not be explicitly specified as one of allowed_vote_assets”</em></li>
    </ul>
  </li>
  <li><code class="highlighter-rouge">max_accepted_payout</code>: SBD value of the maximum payout this post will receive</li>
  <li><code class="highlighter-rouge">percent_steem_dollars</code>: the percent of Steem Dollars to key, unkept amounts will be received as Steem Power</li>
  <li><code class="highlighter-rouge">allow_votes</code>: allows/disallows a post to receive votes;</li>
  <li><code class="highlighter-rouge">allow_curation_rewards</code>: allows/disllows voters to recieve curation rewards. Rewards return to reward fund.</li>
  <li><code class="highlighter-rouge">beneficiaries</code>
    <ul>
      <li>Must have at least one (empty <code class="highlighter-rouge">beneficiaries</code> not allowed).</li>
      <li>Cannot have more than 127 (witness currently only allow up to 8).</li>
      <li>Cannot allocate more than 100% of rewards to one account.</li>
      <li>Cannot allocate more than 100% of rewards to a comment.</li>
      <li>Must be specified in sorted order (account ascending; no duplicates).</li>
    </ul>
  </li>
</ul>

<h5 id="comment_options-roles">Roles: <code>posting active owner</code></h5>
<h5 id="comment_options-parameter">Parameters: <code>author permlink max_accepted_payout percent_steem_dollars allow_votes allow_curation_rewards extensions</code></h5>

<h5 id="comment_options-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"comment_options"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"permlink"</span><span class="p">:</span><span class="w"> </span><span class="s2">"a-post-by-alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"max_accepted_payout"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1000000"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000013"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"percent_steem_dollars"</span><span class="p">:</span><span class="w"> </span><span class="mi">5000</span><span class="p">,</span><span class="w">
    </span><span class="nt">"allow_votes"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nt">"allow_curation_rewards"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nt">"extensions"</span><span class="p">:</span><span class="w"> </span><span class="p">[]</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"comment_options"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"bob"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"permlink"</span><span class="p">:</span><span class="w"> </span><span class="s2">"a-post-with-a-beneficiary"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"max_accepted_payout"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1000000"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000013"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"percent_steem_dollars"</span><span class="p">:</span><span class="w"> </span><span class="mi">63</span><span class="p">,</span><span class="w">
    </span><span class="nt">"allow_votes"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nt">"allow_curation_rewards"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nt">"extensions"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="p">[</span><span class="w">
        </span><span class="mi">0</span><span class="p">,</span><span class="w">
        </span><span class="p">{</span><span class="w">
          </span><span class="nt">"beneficiaries"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="nt">"account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"charlie"</span><span class="p">,</span><span class="w"> </span><span class="nt">"weight"</span><span class="p">:</span><span class="w"> </span><span class="mi">1000</span><span class="p">}]</span><span class="w">
        </span><span class="p">}</span><span class="w">
      </span><span class="p">]</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"comment_options"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"charlie"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"permlink"</span><span class="p">:</span><span class="w"> </span><span class="s2">"a-post-with-multiple-beneficiaries"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"max_accepted_payout"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1000000"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000013"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"percent_steem_dollars"</span><span class="p">:</span><span class="w"> </span><span class="mi">62688</span><span class="p">,</span><span class="w">
    </span><span class="nt">"allow_votes"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nt">"allow_curation_rewards"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nt">"extensions"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="p">[</span><span class="w">
        </span><span class="mi">0</span><span class="p">,</span><span class="w">
        </span><span class="p">{</span><span class="w">
          </span><span class="nt">"beneficiaries"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
            </span><span class="p">{</span><span class="nt">"account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"david"</span><span class="p">,</span><span class="w"> </span><span class="nt">"weight"</span><span class="p">:</span><span class="w"> </span><span class="mi">500</span><span class="p">},</span><span class="w">
            </span><span class="p">{</span><span class="nt">"account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"erin"</span><span class="p">,</span><span class="w"> </span><span class="nt">"weight"</span><span class="p">:</span><span class="w"> </span><span class="mi">500</span><span class="p">},</span><span class="w">
            </span><span class="p">{</span><span class="nt">"account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"faythe"</span><span class="p">,</span><span class="w"> </span><span class="nt">"weight"</span><span class="p">:</span><span class="w"> </span><span class="mi">1000</span><span class="p">},</span><span class="w">
            </span><span class="p">{</span><span class="nt">"account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"frank"</span><span class="p">,</span><span class="w"> </span><span class="nt">"weight"</span><span class="p">:</span><span class="w"> </span><span class="mi">500</span><span class="p">}</span><span class="w">
          </span><span class="p">]</span><span class="w">
        </span><span class="p">}</span><span class="w">
      </span><span class="p">]</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_set_withdraw_vesting_route">
<code>set_withdraw_vesting_route</code>
<a href="#broadcast_ops_set_withdraw_vesting_route">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>Allows an account to setup a vesting withdraw but with the additional
request for the funds to be transferred directly to another account’s
balance rather than the withdrawing account. In addition, those funds
can be immediately vested again, circumventing the conversion from
vests to steem and back, guaranteeing they maintain their value.</p>

<p><strong>Notes:</strong></p>
<ul>
  <li>Percent must be valid steem percent.</li>
</ul>

<h5 id="set_withdraw_vesting_route-roles">Roles: <code>active owner</code></h5>
<h5 id="set_withdraw_vesting_route-parameter">Parameters: <code>from_account to_account percent auto_vest</code></h5>

<h5 id="set_withdraw_vesting_route-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"set_withdraw_vesting_route"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"from_account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"to_account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"bob"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"percent"</span><span class="p">:</span><span class="w"> </span><span class="mi">10000</span><span class="p">,</span><span class="w">
    </span><span class="nt">"auto_vest"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_limit_order_create2">
<code>limit_order_create2</code>
<a href="#broadcast_ops_limit_order_create2">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>This operation is identical to <code class="highlighter-rouge">limit_order_create</code> except it serializes
the price rather than calculating it from other fields.</p>

<h5 id="limit_order_create2-roles">Roles: <code>active owner</code></h5>
<h5 id="limit_order_create2-parameter">Parameters: <code>owner orderid amount_to_sell exchange_rate fill_or_kill expiration</code></h5>

<h5 id="limit_order_create2-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"limit_order_create2"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"owner"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"orderid"</span><span class="p">:</span><span class="w"> </span><span class="mi">492991</span><span class="p">,</span><span class="w">
    </span><span class="nt">"amount_to_sell"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000013"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"exchange_rate"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"base"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
        </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span><span class="w">
        </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
        </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000013"</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="nt">"quote"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
        </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10"</span><span class="p">,</span><span class="w">
        </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
        </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000021"</span><span class="w">
      </span><span class="p">}</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"fill_or_kill"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nt">"expiration"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2017-05-12T23:11:13"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">




<li class="warning"><strong><small>Disabled</small></strong></li>

</ul>
<h4 id="broadcast_ops_challenge_authority">
<code>challenge_authority</code>
<a href="#broadcast_ops_challenge_authority">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>Disabled in HF14.</p>

<h5 id="challenge_authority-roles">Roles: <code>posting active owner</code></h5>
<h5 id="challenge_authority-parameter">Parameters: <code>challenger challenged require_owner</code></h5>

<hr />

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_prove_authority">
<code>prove_authority</code>
<a href="#broadcast_ops_prove_authority">
<i class="fas fa-link fa-xs"></i></a>
</h4>

<h5 id="prove_authority-roles">Roles: <code>active owner</code></h5>
<h5 id="prove_authority-parameter">Parameters: <code>challenged require_owner</code></h5>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF11</small></strong></li>




</ul>
<h4 id="broadcast_ops_request_account_recovery">
<code>request_account_recovery</code>
<a href="#broadcast_ops_request_account_recovery">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>All account recovery requests come from a listed recovery account. This
is secure based on the assumption that only a trusted account should be
a recovery account. It is the responsibility of the recovery account to
verify the identity of the account holder of the account to recover by
whichever means they have agreed upon. The blockchain assumes identity
has been verified when this operation is broadcast.</p>

<p>This operation creates an account recovery request which the account to
recover has 24 hours to respond to before the request expires and is
invalidated.</p>

<p>There can only be one active recovery request per account at any one time.
Pushing this operation for an account to recover when it already has
an active request will either update the request to a new new owner authority
and extend the request expiration to 24 hours from the current head block
time or it will delete the request. To cancel a request, simply set the
weight threshold of the new owner authority to 0, making it an open authority.</p>

<p>Additionally, the new owner authority must be satisfiable. In other words,
the sum of the key weights must be greater than or equal to the weight
threshold.</p>

<p>This operation only needs to be signed by the the recovery account.
The account to recover confirms its identity to the blockchain in
the recover account operation.</p>

<p><strong>Notes:</strong></p>

<ul>
  <li><code class="highlighter-rouge">recovery_account</code>: The recovery account is listed as the recovery account
on the account to recover.</li>
  <li><code class="highlighter-rouge">account_to_recover</code>: The account to recover. This is likely due to a
compromised owner authority.</li>
  <li><code class="highlighter-rouge">new_owner_authority</code>: The new owner authority the account to recover
wishes to have. This is secret known by the account to recover and
will be confirmed in a <code class="highlighter-rouge">recover_account</code>.</li>
</ul>

<p>See: <a href="https://github.com/steemit/steem/issues/169">#169</a></p>

<h5 id="request_account_recovery-roles">Roles: <code>active owner</code></h5>
<h5 id="request_account_recovery-parameter">Parameters: <code>recovery_account account_to_recover new_owner_authority extensions</code></h5>

<h5 id="request_account_recovery-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"request_account_recovery"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"recovery_account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"steem"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"account_to_recover"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"new_owner_authority"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"weight_threshold"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
      </span><span class="nt">"account_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
      </span><span class="nt">"key_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
        </span><span class="p">[</span><span class="w">
          </span><span class="s2">"STM6LYxj96zdypHYqgDdD6Nyh2NxerN3P1Mp3ddNm7gci63nfrSuZ"</span><span class="p">,</span><span class="w">
          </span><span class="mi">1</span><span class="w">
        </span><span class="p">]</span><span class="w">
      </span><span class="p">]</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"extensions"</span><span class="p">:</span><span class="w"> </span><span class="p">[]</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF11</small></strong></li>




</ul>
<h4 id="broadcast_ops_recover_account">
<code>recover_account</code>
<a href="#broadcast_ops_recover_account">
<i class="fas fa-link fa-xs"></i></a>
</h4>

<h5 id="recover_account-roles">Roles: <code>owner</code></h5>
<h5 id="recover_account-parameter">Parameters: <code>account_to_recover new_owner_authority recent_owner_authority extensions</code></h5>

<h5 id="recover_account-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"recover_account"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"account_to_recover"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"new_owner_authority"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"weight_threshold"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
      </span><span class="nt">"account_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
      </span><span class="nt">"key_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
        </span><span class="p">[</span><span class="w">
          </span><span class="s2">"STM7j3nhkhHTpXqLEvdx2yEGhQeeorTcxSV6WDL2DZGxwUxYGrHvh"</span><span class="p">,</span><span class="w">
          </span><span class="mi">1</span><span class="w">
        </span><span class="p">]</span><span class="w">
      </span><span class="p">]</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"recent_owner_authority"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"weight_threshold"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
      </span><span class="nt">"account_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
      </span><span class="nt">"key_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
        </span><span class="p">[</span><span class="w">
          </span><span class="s2">"STM78Xth94gNxp8nmByFV2vNAhg9bsSdviJ6fQXUTFikySLK3uTxC"</span><span class="p">,</span><span class="w">
          </span><span class="mi">1</span><span class="w">
        </span><span class="p">]</span><span class="w">
      </span><span class="p">]</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"extensions"</span><span class="p">:</span><span class="w"> </span><span class="p">[]</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF11</small></strong></li>




</ul>
<h4 id="broadcast_ops_change_recovery_account">
<code>change_recovery_account</code>
<a href="#broadcast_ops_change_recovery_account">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>Each account lists another account as their recovery account.
The recovery account has the ability to create <code class="highlighter-rouge">account_recovery_requests</code>
for the account to recover. An account can change their recovery account
at any time with a 30 day delay. This delay is to prevent
an attacker from changing the recovery account to a malicious account
during an attack. These 30 days match the 30 days that an
owner authority is valid for recovery purposes.</p>

<p>On account creation the recovery account is set either to the creator of
the account (The account that pays the creation fee and is a signer on the transaction)
or to the empty string if the account was mined. An account with no recovery
has the top voted witness as a recovery account, at the time the recover
request is created. Note: This does mean the effective recovery account
of an account with no listed recovery account can change at any time as
witness vote weights. The top voted witness is explicitly the most trusted
witness according to stake.</p>

<p>See: <a href="https://github.com/steemit/steem/issues/169">#169</a></p>

<h5 id="change_recovery_account-roles">Roles: <code>owner</code></h5>
<h5 id="change_recovery_account-parameter">Parameters: <code>account_to_recover new_recovery_account extensions</code></h5>

<h5 id="change_recovery_account-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"change_recovery_account"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"account_to_recover"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"new_recovery_account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"bob"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"extensions"</span><span class="p">:</span><span class="w"> </span><span class="p">[]</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF14</small></strong></li>




</ul>
<h4 id="broadcast_ops_escrow_transfer">
<code>escrow_transfer</code>
<a href="#broadcast_ops_escrow_transfer">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>The purpose of this operation is to enable someone to send money
contingently to another individual. The funds leave the <em>from</em> account
and go into a temporary balance where they are held until <em>from</em>
releases it to <em>to</em> or <em>to</em> refunds it to <em>from</em>.</p>

<p>In the event of a dispute the <em>agent</em> can divide the funds between the
to/from account. Disputes can be raised any time before or on the
dispute deadline time, after the escrow has been approved by all
parties.</p>

<p>This operation only creates a proposed escrow transfer. Both the <em>agent</em>
and <em>to</em> must agree to the terms of the arrangement by approving the
escrow.</p>

<p>The escrow agent is paid the fee on approval of all parties. It is up to
the escrow agent to determine the fee.</p>

<p>Escrow transactions are uniquely identified by <code class="highlighter-rouge">from</code> and <code class="highlighter-rouge">escrow_id</code>,
the <code class="highlighter-rouge">escrow_id</code> is defined by the sender.</p>

<p>See: <a href="https://github.com/steemit/steem/blob/86ec544b731680eaba3808cc7a41e8ea73d89701/libraries/chain/include/steemit/chain/protocol/steem_operations.hpp#L229-L322">steem_operations.hpp:229</a></p>

<h5 id="escrow_transfer-roles">Roles: <code>active owner</code></h5>
<h5 id="escrow_transfer-parameter">Parameters: <code>from to agent escrow_id sbd_amount steem_amount fee ratification_deadline escrow_expiration json_meta</code></h5>

<h5 id="escrow_transfer-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"escrow_transfer"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"from"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"to"</span><span class="p">:</span><span class="w"> </span><span class="s2">"bob"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"sbd_amount"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1000"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000013"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"steem_amount"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000021"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"escrow_id"</span><span class="p">:</span><span class="w"> </span><span class="mi">23456789</span><span class="p">,</span><span class="w">
    </span><span class="nt">"agent"</span><span class="p">:</span><span class="w"> </span><span class="s2">"charlie"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"fee"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"100"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000013"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"json_meta"</span><span class="p">:</span><span class="w"> </span><span class="s2">"{}"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"ratification_deadline"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2017-02-26T11:22:39"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"escrow_expiration"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2017-02-28T11:22:39"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF14</small></strong></li>




</ul>
<h4 id="broadcast_ops_escrow_dispute">
<code>escrow_dispute</code>
<a href="#broadcast_ops_escrow_dispute">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>If either the sender or receiver of an escrow payment has an issue, they
can raise it for dispute. Once a payment is in dispute, the agent has
authority over who gets what.</p>

<p>See: <a href="https://github.com/steemit/steem/blob/86ec544b731680eaba3808cc7a41e8ea73d89701/libraries/chain/include/steemit/chain/protocol/steem_operations.hpp#L229-L322">steem_operations.hpp:229</a></p>

<h5 id="escrow_dispute-roles">Roles: <code>active owner</code></h5>
<h5 id="escrow_dispute-parameter">Parameters: <code>from to agent who escrow_id</code></h5>

<h5 id="escrow_dispute-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"escrow_dispute"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"from"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"to"</span><span class="p">:</span><span class="w"> </span><span class="s2">"bob"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"agent"</span><span class="p">:</span><span class="w"> </span><span class="s2">"charlie"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"who"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"escrow_id"</span><span class="p">:</span><span class="w"> </span><span class="mi">72526562</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF14</small></strong></li>




</ul>
<h4 id="broadcast_ops_escrow_release">
<code>escrow_release</code>
<a href="#broadcast_ops_escrow_release">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>This operation can be used by anyone associated with the escrow transfer
to release funds if they have permission.</p>

<p>The permission scheme is as follows:</p>
<ul>
  <li>If there is no dispute and escrow has not expired, either party can
release funds to the other.</li>
  <li>If escrow expires and there is no dispute, either party can release
funds to either party.</li>
  <li>If there is a dispute regardless of expiration, the agent can
release funds to either party following whichever agreement was in place between the parties.</li>
</ul>

<p>See: <a href="https://github.com/steemit/steem/blob/86ec544b731680eaba3808cc7a41e8ea73d89701/libraries/chain/include/steemit/chain/protocol/steem_operations.hpp#L229-L322">steem_operations.hpp:229</a></p>

<h5 id="escrow_release-roles">Roles: <code>active owner</code></h5>
<h5 id="escrow_release-parameter">Parameters: <code>from to agent who receiver escrow_id sbd_amount steem_amount</code></h5>

<h5 id="escrow_release-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"escrow_release"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"from"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"to"</span><span class="p">:</span><span class="w"> </span><span class="s2">"bob"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"agent"</span><span class="p">:</span><span class="w"> </span><span class="s2">"charlie"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"who"</span><span class="p">:</span><span class="w"> </span><span class="s2">"charlie"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"receiver"</span><span class="p">:</span><span class="w"> </span><span class="s2">"bob"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"escrow_id"</span><span class="p">:</span><span class="w"> </span><span class="mi">72526562</span><span class="p">,</span><span class="w">
    </span><span class="nt">"sbd_amount"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"5000"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000013"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"steem_amount"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000021"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">




<li class="warning"><strong><small>Disabled</small></strong></li>

</ul>
<h4 id="broadcast_ops_pow2">
<code>pow2</code>
<a href="#broadcast_ops_pow2">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>Disabled in HF17.</p>
<h5 id="pow2-roles">Roles: <code>active owner</code></h5>
<h5 id="pow2-parameter">Parameters: <code>input pow_summary</code></h5>

<h5 id="pow2-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"pow2"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"work"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="mi">0</span><span class="p">,</span><span class="w">
      </span><span class="p">{</span><span class="w">
        </span><span class="nt">"input"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
          </span><span class="nt">"worker_account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
          </span><span class="nt">"prev_block"</span><span class="p">:</span><span class="w"> </span><span class="s2">"003ea604345523c344fbadab605073ea712dd76f"</span><span class="p">,</span><span class="w">
          </span><span class="nt">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1052853013628665497"</span><span class="w">
        </span><span class="p">},</span><span class="w">
        </span><span class="nt">"pow_summary"</span><span class="p">:</span><span class="w"> </span><span class="mi">3817904373</span><span class="w">
      </span><span class="p">}</span><span class="w">
    </span><span class="p">],</span><span class="w">
    </span><span class="nt">"props"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"account_creation_fee"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
        </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span><span class="w">
        </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
        </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000021"</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="nt">"maximum_block_size"</span><span class="p">:</span><span class="w"> </span><span class="mi">131072</span><span class="p">,</span><span class="w">
      </span><span class="nt">"sbd_interest_rate"</span><span class="p">:</span><span class="w"> </span><span class="mi">1000</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF14</small></strong></li>




</ul>
<h4 id="broadcast_ops_escrow_approve">
<code>escrow_approve</code>
<a href="#broadcast_ops_escrow_approve">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>The agent and to accounts must approve an escrow transaction for it to
be valid on the blockchain. Once a party approves the escrow, they
cannot revoke their approval. Subsequent escrow approve operations,
regardless of the approval, will be rejected.</p>

<p>See: <a href="https://github.com/steemit/steem/blob/86ec544b731680eaba3808cc7a41e8ea73d89701/libraries/chain/include/steemit/chain/protocol/steem_operations.hpp#L229-L322">steem_operations.hpp:229</a></p>

<h5 id="escrow_approve-roles">Roles: <code>active owner</code></h5>
<h5 id="escrow_approve-parameter">Parameters: <code>from to agent who escrow_id approve</code></h5>

<h5 id="escrow_approve-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"escrow_approve"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"from"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"to"</span><span class="p">:</span><span class="w"> </span><span class="s2">"bob"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"agent"</span><span class="p">:</span><span class="w"> </span><span class="s2">"charlie"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"who"</span><span class="p">:</span><span class="w"> </span><span class="s2">"charlie"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"escrow_id"</span><span class="p">:</span><span class="w"> </span><span class="mi">59102208</span><span class="p">,</span><span class="w">
    </span><span class="nt">"approve"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF14</small></strong></li>




</ul>
<h4 id="broadcast_ops_transfer_to_savings">
<code>transfer_to_savings</code>
<a href="#broadcast_ops_transfer_to_savings">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>For time locked savings accounts. A user can place Steem and Steem
Dollars into time locked savings balances. Funds can be withdrawn from
these balances after a three day delay. The point of this addition is to
mitigate loss from hacked and compromised account. The max a user can
lose instantaneously is the sum of what the hold in liquid balances.
Assuming an account can be recovered quickly, loss in such situations
can be kept to a minimum.</p>

<p>See: <a href="https://github.com/steemit/steem/blob/86ec544b731680eaba3808cc7a41e8ea73d89701/libraries/chain/include/steemit/chain/protocol/steem_operations.hpp#L868-L895">steem_operations.hpp:868</a></p>

<h5 id="transfer_to_savings-roles">Roles: <code>active owner</code></h5>
<h5 id="transfer_to_savings-parameter">Parameters: <code>from to amount memo</code></h5>

<h5 id="transfer_to_savings-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"transfer_to_savings"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"from"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"to"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1000"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000013"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"memo"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF14</small></strong></li>




</ul>
<h4 id="broadcast_ops_transfer_from_savings">
<code>transfer_from_savings</code>
<a href="#broadcast_ops_transfer_from_savings">
<i class="fas fa-link fa-xs"></i></a>
</h4>

<h5 id="transfer_from_savings-roles">Roles: <code>active owner</code></h5>
<h5 id="transfer_from_savings-parameter">Parameters: <code>from request_id to amount memo</code></h5>

<h5 id="transfer_from_savings-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"transfer_from_savings"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"from"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"request_id"</span><span class="p">:</span><span class="w"> </span><span class="mi">101</span><span class="p">,</span><span class="w">
    </span><span class="nt">"to"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1000"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000013"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"memo"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF14</small></strong></li>




</ul>
<h4 id="broadcast_ops_cancel_transfer_from_savings">
<code>cancel_transfer_from_savings</code>
<a href="#broadcast_ops_cancel_transfer_from_savings">
<i class="fas fa-link fa-xs"></i></a>
</h4>

<h5 id="cancel_transfer_from_savings-roles">Roles: <code>active owner</code></h5>
<h5 id="cancel_transfer_from_savings-parameter">Parameters: <code>from request_id</code></h5>

<h5 id="cancel_transfer_from_savings-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"cancel_transfer_from_savings"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="nt">"from"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w"> </span><span class="nt">"request_id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF14</small></strong></li>




</ul>
<h4 id="broadcast_ops_custom_binary">
<code>custom_binary</code>
<a href="#broadcast_ops_custom_binary">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>The semmantics for this operation are the same as the <code class="highlighter-rouge">custom_json</code>
operation, but with a binary payload. The json deserialization has a
non-trivial cost associated with it. This operation will allow for
binary deserialization of plugin operations and should improve overall
performance of plugins that chose to use it.</p>

<p>See: <a href="https://github.com/steemit/steem/blob/86ec544b731680eaba3808cc7a41e8ea73d89701/libraries/chain/include/steemit/chain/protocol/steem_operations.hpp#L491-L506">steem_operations.hpp:491</a></p>

<h5 id="custom_binary-roles">Roles: <code>posting active owner</code></h5>
<h5 id="custom_binary-parameter">Parameters: <code>id data</code></h5>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF14</small></strong></li>




</ul>
<h4 id="broadcast_ops_decline_voting_rights">
<code>decline_voting_rights</code>
<a href="#broadcast_ops_decline_voting_rights">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>An account can chose to decline their voting rights after a 30 day
delay. This includes voting on content and witnesses. The voting rights
cannot be acquired again once they have been declined. This is only to
formalize a smart contract between certain accounts and the community
that currently only exists as a social contract.</p>

<p>See: <a href="https://github.com/steemit/steem/blob/86ec544b731680eaba3808cc7a41e8ea73d89701/libraries/chain/include/steemit/chain/protocol/steem_operations.hpp#L897-L905">steem_operations.hpp:897</a></p>

<h5 id="decline_voting_rights-roles">Roles: <code>owner</code></h5>
<h5 id="decline_voting_rights-parameter">Parameters: <code>account decline</code></h5>

<h5 id="decline_voting_rights-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"decline_voting_rights"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="nt">"account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"judy"</span><span class="p">,</span><span class="w"> </span><span class="nt">"decline"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF11</small></strong></li>




<li class="warning"><strong><small>Disabled</small></strong></li>

</ul>
<h4 id="broadcast_ops_reset_account">
<code>reset_account</code>
<a href="#broadcast_ops_reset_account">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>This operation allows <code class="highlighter-rouge">recovery_account</code> to change <code class="highlighter-rouge">account_to_reset</code>’s
owner authority to <code class="highlighter-rouge">new_owner_authority</code> after 60 days of inactivity.</p>

<p>See: <a href="https://github.com/steemit/steem/issues/169">#169</a></p>

<h5 id="reset_account-roles">Roles: <code>active owner</code></h5>
<h5 id="reset_account-parameter">Parameters: <code>reset_account account_to_reset new_owner_authority</code></h5>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF11</small></strong></li>




<li class="warning"><strong><small>Disabled</small></strong></li>

</ul>
<h4 id="broadcast_ops_set_reset_account">
<code>set_reset_account</code>
<a href="#broadcast_ops_set_reset_account">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>This operation allows <code class="highlighter-rouge">account</code> owner to control which account has the
power to execute the <code class="highlighter-rouge">reset_account</code> operation after 60 days.</p>

<p>See: <a href="https://github.com/steemit/steem/issues/169">#169</a></p>

<h5 id="set_reset_account-roles">Roles: <code>owner posting</code></h5>
<h5 id="set_reset_account-parameter">Parameters: <code>account current_reset_account reset_account</code></h5>

<hr />

<ul style="float: right; list-style: none;">




</ul>
<h4 id="broadcast_ops_claim_reward_balance">
<code>claim_reward_balance</code>
<a href="#broadcast_ops_claim_reward_balance">
<i class="fas fa-link fa-xs"></i></a>
</h4>

<h5 id="claim_reward_balance-roles">Roles: <code>posting active owner</code></h5>
<h5 id="claim_reward_balance-parameter">Parameters: <code>account reward_steem reward_sbd reward_vests</code></h5>

<h5 id="claim_reward_balance-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"claim_reward_balance"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"reward_steem"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"17"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000021"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"reward_sbd"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"11"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000013"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"reward_vests"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"185025103"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000037"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF17</small></strong></li>




</ul>
<h4 id="broadcast_ops_delegate_vesting_shares">
<code>delegate_vesting_shares</code>
<a href="#broadcast_ops_delegate_vesting_shares">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>Delegate vesting shares from one account to the other. The vesting
shares are still owned by the original account, but content voting
rights and bandwidth allocation are transferred to the receiving
account. This sets the delegation to <code class="highlighter-rouge">vesting_shares</code>, increasing it or
decreasing it as needed (i.e. a delegation of 0 removes the delegation).</p>

<p>When a delegation is removed the shares are placed in limbo for a week
to prevent a satoshi of VESTS from voting on the same content twice.</p>

<p>Also see:</p>
<ul>
  <li><a href="https://github.com/steemit/steem/blob/4b19e00dd6a76699aa4de1c0d50aad392cd2d0b6/libraries/chain/steem_evaluator.cpp#L2309">steem_evaluator.cpp:2309</a></li>
</ul>

<h5 id="delegate_vesting_shares-roles">Roles: <code>active owner</code></h5>
<h5 id="delegate_vesting_shares-parameter">Parameters: <code>delegator delegatee vesting_shares</code></h5>

<h5 id="delegate_vesting_shares-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"delegate_vesting_shares"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"delegator"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"delegatee"</span><span class="p">:</span><span class="w"> </span><span class="s2">"bob"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"vesting_shares"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"94599167138276"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000037"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF17</small></strong></li>




</ul>
<h4 id="broadcast_ops_account_create_with_delegation">
<code>account_create_with_delegation</code>
<a href="#broadcast_ops_account_create_with_delegation">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>Instead of paying the entire account creation fee with Steem, creators
can now pay a smaller fee (30x less) and delegate some Steem Power for
30 days. The exact amount is 5 * min_fee + STEEM_POWER == 150 * min_fee.
You can pay any combination of STEEM and Steem Power along that curve
(so long as the minimum fee is paid).</p>

<p><em>The witness voted STEEM fee is now the minimum required STEEM fee for
delegation. Witnesses should reduce their fee by 30x when the hardfork
goes live to preserve the same required fee for an all STEEM account
creation.</em></p>

<p>Also see:</p>
<ul>
  <li><a href="https://github.com/steemit/steem/blob/65c58af34971416057e142ac1332421e2228749b/libraries/protocol/include/steem/protocol/config.hpp#L145">config.hpp:145</a></li>
  <li><a href="https://github.com/steemit/steem/blob/4b19e00dd6a76699aa4de1c0d50aad392cd2d0b6/libraries/chain/steem_evaluator.cpp#L400">steem_evaluator.cpp:400</a></li>
</ul>

<h5 id="account_create_with_delegation-roles">Roles: <code>active owner</code></h5>
<h5 id="account_create_with_delegation-parameter">Parameters: <code>fee delegation creator new_account_name owner active posting memo_key json_metadata extensions</code></h5>

<h5 id="account_create_with_delegation-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"account_create_with_delegation"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"fee"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3000"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000021"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"delegation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="p">,</span><span class="w">
      </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w">
      </span><span class="nt">"nai"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@000000037"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"creator"</span><span class="p">:</span><span class="w"> </span><span class="s2">"steemit"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"new_account_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"owner"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"weight_threshold"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
      </span><span class="nt">"account_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
      </span><span class="nt">"key_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
        </span><span class="p">[</span><span class="w">
          </span><span class="s2">"STM5Tki3ecCdCCHCjhhwvQvXuKryL2s34Ma6CXsRzntSUTYVYxCQ9"</span><span class="p">,</span><span class="w">
          </span><span class="mi">1</span><span class="w">
        </span><span class="p">]</span><span class="w">
      </span><span class="p">]</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"active"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"weight_threshold"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
      </span><span class="nt">"account_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
      </span><span class="nt">"key_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
        </span><span class="p">[</span><span class="w">
          </span><span class="s2">"STM6LUoAA8gCL9tHRz7v9xcwR4ZWD3KDRHP5t1U7UAZHdfanLxyBE"</span><span class="p">,</span><span class="w">
          </span><span class="mi">1</span><span class="w">
        </span><span class="p">]</span><span class="w">
      </span><span class="p">]</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"posting"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nt">"weight_threshold"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
      </span><span class="nt">"account_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
      </span><span class="nt">"key_auths"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
        </span><span class="p">[</span><span class="w">
          </span><span class="s2">"STM8anmpHdfVE4AmwsDpcSXpRsydHysEbv6vGJkRQy1d1CC83zeTA"</span><span class="p">,</span><span class="w">
          </span><span class="mi">1</span><span class="w">
        </span><span class="p">]</span><span class="w">
      </span><span class="p">]</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nt">"memo_key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"STM67RYDyEkP1Ja1jFehJ45BFGA9oHHUnRnYbxKJEtMhVQiHW3S3k"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"json_metadata"</span><span class="p">:</span><span class="w"> </span><span class="s2">"{}"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"extensions"</span><span class="p">:</span><span class="w"> </span><span class="p">[]</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">


<li class="info"><strong><small>Virtual Operation</small></strong></li>



</ul>
<h4 id="broadcast_ops_fill_convert_request">
<code>fill_convert_request</code>
<a href="#broadcast_ops_fill_convert_request">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>Fills when conversion requests with a conversion date before the head
block time and then converts them to/from steem/sbd at the current
median price feed history price times the premium.</p>

<h5 id="fill_convert_request-roles">Roles: <code>active owner</code></h5>
<h5 id="fill_convert_request-parameter">Parameters: <code>owner requestid amount_in amount_out</code></h5>

<hr />

<ul style="float: right; list-style: none;">


<li class="info"><strong><small>Virtual Operation</small></strong></li>



</ul>
<h4 id="broadcast_ops_author_reward">
<code>author_reward</code>
<a href="#broadcast_ops_author_reward">
<i class="fas fa-link fa-xs"></i></a>
</h4>

<h5 id="author_reward-roles">Roles: <code>posting active owner</code></h5>
<h5 id="author_reward-parameter">Parameters: <code>author permlink sbd_payout steem_payout vesting_payout</code></h5>

<hr />

<ul style="float: right; list-style: none;">


<li class="info"><strong><small>Virtual Operation</small></strong></li>



</ul>
<h4 id="broadcast_ops_curation_reward">
<code>curation_reward</code>
<a href="#broadcast_ops_curation_reward">
<i class="fas fa-link fa-xs"></i></a>
</h4>

<h5 id="curation_reward-roles">Roles: <code>posting active owner</code></h5>
<h5 id="curation_reward-parameter">Parameters: <code>curator reward comment_author comment_permlink</code></h5>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF17</small></strong></li>


<li class="info"><strong><small>Virtual Operation</small></strong></li>



</ul>
<h4 id="broadcast_ops_comment_reward">
<code>comment_reward</code>
<a href="#broadcast_ops_comment_reward">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>See: <a href="https://github.com/steemit/steem/issues/774">#774</a></p>

<h5 id="comment_reward-roles">Roles: <code>posting active owner</code></h5>
<h5 id="comment_reward-parameter">Parameters: <code>author permlink payout</code></h5>

<hr />

<ul style="float: right; list-style: none;">


<li class="info"><strong><small>Virtual Operation</small></strong></li>



<li class="warning"><strong><small>Disabled</small></strong></li>

</ul>
<h4 id="broadcast_ops_liquidity_reward">
<code>liquidity_reward</code>
<a href="#broadcast_ops_liquidity_reward">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>Deprecated as of HF12, see: <a href="https://github.com/steemit/steem/issues/178">#178</a>.</p>

<h5 id="liquidity_reward-roles">Roles: <code>active owner</code></h5>
<h5 id="liquidity_reward-parameter">Parameters: <code>owner payout</code></h5>

<hr />

<ul style="float: right; list-style: none;">


<li class="info"><strong><small>Virtual Operation</small></strong></li>



</ul>
<h4 id="broadcast_ops_interest">
<code>interest</code>
<a href="#broadcast_ops_interest">
<i class="fas fa-link fa-xs"></i></a>
</h4>

<h5 id="interest-roles">Roles: <code>active owner</code></h5>
<h5 id="interest-parameter">Parameters: <code>owner interest</code></h5>

<h5 id="interest-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"interest"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="nt">"owner"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w"> </span><span class="nt">"interest"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.001 SBD"</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF6</small></strong></li>


<li class="info"><strong><small>Virtual Operation</small></strong></li>



</ul>
<h4 id="broadcast_ops_fill_vesting_withdraw">
<code>fill_vesting_withdraw</code>
<a href="#broadcast_ops_fill_vesting_withdraw">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>See: <a href="https://github.com/steemit/steem/issues/78">#78</a></p>

<h5 id="fill_vesting_withdraw-roles">Roles: <code>active owner</code></h5>
<h5 id="fill_vesting_withdraw-parameter">Parameters: <code>from_account to_account withdrawn deposited</code></h5>

<h5 id="fill_vesting_withdraw-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"fill_vesting_withdraw"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"from_account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"to_account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"withdrawn"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.026475 VESTS"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"deposited"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.710 STEEM"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">


<li class="info"><strong><small>Virtual Operation</small></strong></li>



</ul>
<h4 id="broadcast_ops_fill_order">
<code>fill_order</code>
<a href="#broadcast_ops_fill_order">
<i class="fas fa-link fa-xs"></i></a>
</h4>

<h5 id="fill_order-roles">Roles: <code>posting active owner</code></h5>
<h5 id="fill_order-parameter">Parameters: <code>current_owner current_orderid current_pays open_owner open_orderid open_pays</code></h5>

<h5 id="fill_order-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"fill_order"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"current_owner"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"current_orderid"</span><span class="p">:</span><span class="w"> </span><span class="mi">42896</span><span class="p">,</span><span class="w">
    </span><span class="nt">"current_pays"</span><span class="p">:</span><span class="w"> </span><span class="s2">"94.999 SBD"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"open_owner"</span><span class="p">:</span><span class="w"> </span><span class="s2">"bob"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"open_orderid"</span><span class="p">:</span><span class="w"> </span><span class="mi">10001</span><span class="p">,</span><span class="w">
    </span><span class="nt">"open_pays"</span><span class="p">:</span><span class="w"> </span><span class="s2">"500.000 STEEM"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF14</small></strong></li>


<li class="info"><strong><small>Virtual Operation</small></strong></li>



</ul>
<h4 id="broadcast_ops_shutdown_witness">
<code>shutdown_witness</code>
<a href="#broadcast_ops_shutdown_witness">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>When a witness goes offline.</p>

<p>See: <a href="https://github.com/steemit/steem/issues/278">#278</a></p>

<h5 id="shutdown_witness-roles">Roles: <code>posting active owner</code></h5>
<h5 id="shutdown_witness-parameter">Parameters: <code>owner</code></h5>

<h5 id="shutdown_witness-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="s2">"shutdown_witness"</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="nt">"owner"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">}]</span><span class="w">
</span></code></pre>
</div>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF14</small></strong></li>


<li class="info"><strong><small>Virtual Operation</small></strong></li>



</ul>
<h4 id="broadcast_ops_fill_transfer_from_savings">
<code>fill_transfer_from_savings</code>
<a href="#broadcast_ops_fill_transfer_from_savings">
<i class="fas fa-link fa-xs"></i></a>
</h4>

<h5 id="fill_transfer_from_savings-roles">Roles: <code>posting active owner</code></h5>
<h5 id="fill_transfer_from_savings-parameter">Parameters: <code>from to amount request_id memo</code></h5>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF9</small></strong></li>


<li class="info"><strong><small>Virtual Operation</small></strong></li>



</ul>
<h4 id="broadcast_ops_hardfork">
<code>hardfork</code>
<a href="#broadcast_ops_hardfork">
<i class="fas fa-link fa-xs"></i></a>
</h4>

<h5 id="hardfork-roles">Roles: <code>posting active owner</code></h5>
<h5 id="hardfork-parameter">Parameters: <code>hardfork_id</code></h5>

<hr />

<ul style="float: right; list-style: none;">


<li class="info"><strong><small>Virtual Operation</small></strong></li>



</ul>
<h4 id="broadcast_ops_comment_payout_update">
<code>comment_payout_update</code>
<a href="#broadcast_ops_comment_payout_update">
<i class="fas fa-link fa-xs"></i></a>
</h4>

<h5 id="comment_payout_update-roles">Roles: <code>posting active owner</code></h5>
<h5 id="comment_payout_update-parameter">Parameters: <code>author permlink</code></h5>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF17</small></strong></li>


<li class="info"><strong><small>Virtual Operation</small></strong></li>



</ul>
<h4 id="broadcast_ops_return_vesting_delegation">
<code>return_vesting_delegation</code>
<a href="#broadcast_ops_return_vesting_delegation">
<i class="fas fa-link fa-xs"></i></a>
</h4>

<h5 id="return_vesting_delegation-roles">Roles: <code>posting active owner</code></h5>
<h5 id="return_vesting_delegation-parameter">Parameters: <code>account vesting_shares</code></h5>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF17</small></strong></li>


<li class="info"><strong><small>Virtual Operation</small></strong></li>



</ul>
<h4 id="broadcast_ops_comment_benefactor_reward">
<code>comment_benefactor_reward</code>
<a href="#broadcast_ops_comment_benefactor_reward">
<i class="fas fa-link fa-xs"></i></a>
</h4>

<h5 id="comment_benefactor_reward-roles">Roles: <code>posting active owner</code></h5>
<h5 id="comment_benefactor_reward-parameter">Parameters: <code>benefactor author permlink reward</code></h5>

<hr />

<ul style="float: right; list-style: none;">

<li class="success"><strong><small>Since: HF17</small></strong></li>


<li class="info"><strong><small>Virtual Operation</small></strong></li>



</ul>
<h4 id="broadcast_ops_producer_reward">
<code>producer_reward</code>
<a href="#broadcast_ops_producer_reward">
<i class="fas fa-link fa-xs"></i></a>
</h4>
<p>Witness rewards for block signing are hard to account for. Making these
rewards visible will help witnesses and prospective witnesses by
providing them with more complete and accurate information to guide
their decisions to invest in the platform.</p>

<h5 id="producer_reward-roles">Roles: <code>posting active owner</code></h5>
<h5 id="producer_reward-parameter">Parameters: <code>producer vesting_shares</code></h5>

<h5 id="producer_reward-json-examples">Example Op:</h5>

<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="s2">"producer_reward"</span><span class="p">,</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nt">"producer"</span><span class="p">:</span><span class="w"> </span><span class="s2">"alice"</span><span class="p">,</span><span class="w">
    </span><span class="nt">"vesting_shares"</span><span class="p">:</span><span class="w"> </span><span class="s2">"14403.626449 VESTS"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>

<hr />


</div>
<div class="footer">
	<a href="#">Back to top</a>
</div>
<script>
    document.getElementById("open-nav").addEventListener("click", function () {
        document.body.classList.toggle("nav-open");
    });
</script>
</body>
</html>


<script src="/js/adjust.js"></script>

